密钥'PRIMARY'重复输入

时间:2013-11-19 13:46:17

标签: mysql java-ee

我正在尝试创建与登录用户相关的数据。我的意思是,在插入登录名和密码后,用户将被重定向到适当的页面,在那里他可以插入他的数据。这是我的托管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。

1 个答案:

答案 0 :(得分:0)

@ManyToOne(cascade = CascadeType.Persist )
private Customer customer;

实体中的CascadeType.Persist数据导致了我的问题。实际上,当我试图让客户登录时,它必须坚持要求客户提供数据。