我正在尝试创建与登录用户相关的数据。我的意思是,在插入登录名和密码后,用户将被重定向到适当的页面,在那里他可以插入他的数据。这是我的托管Bean的一部分,允许创建数据。
public void searchEmails() throws Exception {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
HttpSession session = request.getSession(false);
System.out.println(session.getAttribute("id"));
String idCustomer = (String) session.getAttribute("id");
Customer customer = customerBusinessLocal.findById(idCustomer);
Data data = dataBusinessLocal.createData(new Date(), email, product, customer);
}
当我调用此方法时,会抛出异常指示
内部例外:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '7c3ea0c9-6cad-4816-be74-72c453e05756' for key 'PRIMARy'
虽然我没有尝试创建一个新客户,但只是获取了被盗用者的ID并将数据与他联系起来。我的意思是在数据数据表中,我得到了客户的在线ID。
答案 0 :(得分:0)
@ManyToOne(cascade = CascadeType.Persist )
private Customer customer;
实体中的CascadeType.Persist数据导致了我的问题。实际上,当我试图让客户登录时,它必须坚持要求客户提供数据。