0 Replies Latest reply on Apr 27, 2013 6:16 AM by amitjadhav.ynwa

    unique constraint violated error though form data is valid

    amitjadhav.ynwa

      I have a form - Workflow where there are fields like wfName, assignedUser, dueDate, turnAroundTime. etc.

       

      It is backed by an entity Workflow with a reference to the User entity as Many-to-One.

       

      When a change is made to the assignedUser field( it is an email address) and the form is submitted, I get a Unique-constraint violation error on the USER entity.

       

      I am not trying to achieve this. I only want to replace the User in the Workflow entity.

       

      The save function is performed by a Stateful session bean, with an EXTENDED persistence context.

       

      Am I missing something here? Is this the correct way to updated information in a referenced field?

       

      While setting the updated User I am doing

       

       

      User user = workflow.getUser();

      //This user has its email address changed on the screen so getting a fresh reference of the new user from the database.

      user = entitManager.createQuer("from User where email_address=:email_address").setParameter("email_address", user.getEmailAddress).getSingleResult();

      //This new found user is then put back into the Workflow entity.

      workflow.setUser(user);

      entityManager.merge(workflow);

       

      No exception is thrown at the time these lines are executed, but later in the logs I find that it threw a

       

      Caused by: java.sql.SQLException: ORA-00001: unique constraint (PROJ.UK_USER_ID) violated

       

      There is no cascading configuration present in the entities.