em có bị 1 lỗi khi thực hiện update dữ liệu trong sql server, e thấy lỗi bảo là ids phải đc gán thủ công nhưng e fix mãi không được mong mn có thể chỉ giúp em
Đây là class của em :
Đây là lỗi :
Đây là sql của em :
em có bị 1 lỗi khi thực hiện update dữ liệu trong sql server, e thấy lỗi bảo là ids phải đc gán thủ công nhưng e fix mãi không được mong mn có thể chỉ giúp em
Đây là class của em :
Hi there,
Trong stacktrace của cậu có chỉ lỗi ở AbstractEntityDao dòng 40, và EditProfileServlet dòng 55. Cậu có thể share cho bọn tớ 2 class đó được không?
Ngoài ra, đừng chụp ảnh screenshot lỗi và code nha cậu. Cậu copy nội dung của các class liên quan + stacktrace của lỗi và post lên đây. Nhớ sử dụng Markdown để format code nhé!
Edit: ủa, username là ID à cậu? @@
package edu.poly.dao;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
public abstract class AbstractEntityDao<T> {
private Class<T> entityClass;
public AbstractEntityDao(Class<T> cls) {
this.entityClass = cls;
}
public void insert(T entity) {
EntityManager em = JpaUtils.getEntityManager();
EntityTransaction trans = em.getTransaction();
try {
trans.begin();
em.persist(entity);
trans.commit();
} catch (Exception e) {
e.printStackTrace();
trans.rollback();
throw e;
} finally {
em.close();
}
}
public void update(T entity) {
EntityManager em = JpaUtils.getEntityManager();
EntityTransaction trans = em.getTransaction();
try {
trans.begin();
em.merge(entity);
trans.commit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
trans.rollback();
throw e;
} finally {
em.close();
}
}
public void delete(Object id) {
EntityManager em = JpaUtils.getEntityManager();
EntityTransaction trans = em.getTransaction();
try {
trans.begin();
T entity = em.find(entityClass, id);
em.remove(entity);
trans.commit();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
trans.rollback();
throw e;
} finally {
em.close();
}
}
public T findbyId(Object Id) {
EntityManager em = JpaUtils.getEntityManager();
T entity = em.find(entityClass, Id);
return entity;
}
public List<T> findAll() {
EntityManager em = JpaUtils.getEntityManager();
try {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
return em.createQuery(cq).getResultList();
} finally {
// TODO Auto-generated catch block
em.close();
}
}
public Long count() {
EntityManager em = JpaUtils.getEntityManager();
try {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
Root<T> rt = cq.from(entityClass);
cq.select(em.getCriteriaBuilder().count(rt));
Query q = em.createQuery(cq);
return (Long) q.getSingleResult();
} finally {
em.close();
}
}
public List<T> findAll(boolean all, int firstResult, int maxResult) {
EntityManager em = JpaUtils.getEntityManager();
try {
CriteriaQuery cq = em.getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
Query q = em.createQuery(cq);
if (!all) {
q.setFirstResult(firstResult);
q.setMaxResults(maxResult);
}
return q.getResultList();
} finally {
// TODO Auto-generated catch block
em.close();
}
}
}
package edu.poly.site.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import edu.poly.common.PageInfo;
import edu.poly.common.PageType;
import edu.poly.common.SessionUtils;
import edu.poly.dao.UserDao;
import edu.poly.model.User;
/**
* Servlet implementation class EditProfileServlet
*/
@WebServlet("/EditProfile")
public class EditProfileServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String username = SessionUtils.getLoginedUsername(request);
if (username == null) {
request.getRequestDispatcher("/Login").forward(request, response);
return;
}
try {
UserDao dao = new UserDao();
User user = dao.findbyId(username);
request.setAttribute("user", user);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("erro", "" + e.getMessage());
}
PageInfo.prepareAndForwardSite(request, response, PageType.SITE_EDIT_PROFILE_PAGE);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
User user = new User();
BeanUtils.populate(user, request.getParameterMap());
String username = SessionUtils.getLoginedUsername(request);
System.out.println(username);
UserDao dao = new UserDao();
User olduser = dao.findbyId(username);
user.setAdmin(olduser.getAdmin());
user.setPassword(olduser.getPassword());
dao.update(user);
request.setAttribute("message", "User Updated!!!");
request.setAttribute("user", user);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("erro", "" + e.getMessage());
}
PageInfo.prepareAndForwardSite(request, response, PageType.SITE_EDIT_PROFILE_PAGE);
}
}
public class UserDao extends AbstractEntityDao<User> {
public UserDao() {
super(User.class);
}