Announcement Announcement Module
Collapse
No announcement yet.
javax.validation.ConstraintViolationException: Bean Validation constraint(s) violated Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • javax.validation.ConstraintViolationException: Bean Validation constraint(s) violated

    I'm having an annoying error message while trying to insert new element in a many to many relationship using JPA 2.0, SpringMvc 3.

    I have a table with States and another one with Persons. A person can be linked to many states and a state to many persons.
    In this particular case, I have a listOfStates and then a person and I would like to insert those elements in my many to many relationships.


    ManyToMany Relationship (in table STATE)
    Code:
            //bi-directional many-to-many association to Appointment
            @ManyToMany(cascade=CascadeType.ALL)
            @JoinTable(
        name="PERSON_STATE"
        , joinColumns={
        	@JoinColumn(name="PERSON_ID", nullable=false)
        	}
        , inverseJoinColumns={
        	@JoinColumn(name="CODE_STATE", nullable=false)
        	}
        )

    DAO Code THAT I'm calling from my controller
    Code:
        try{	
        	getEntityManager().getTransaction().begin();			
        	getEntityManager().persist(myPerson);						
        				
        	IStateDAO stateDAO = new StateDAO();
        	
        	for (int i=0; i<listOfStates.length; i++){
        		State myState = stateDAO.findState(listOfStates[i]);
        		if (myState != null){					
        			myState.getPersons().add(myPerson);
        			getEntityManager().persist(myState);
        		}
        	}
        	
        	getEntityManager().getTransaction().commit();			
        	getEntityManager().close();			
        	
        } catch (RuntimeException re) {
        	getEntityManager().close();
        	throw re;			
        }
    The funny thing is that this code is working fine when I'm not inserting data from a web page. What i am doing wrong here? I already have some persons and states in the DB.


    Full Stack Error Message:

    Code:
      org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.validation.ConstraintViolationException: Bean Validation constraint(s) violated while executing Automatic Bean Validation on callback event:'preUpdate'. Please refer to embedded ConstraintViolations for details.
        
        
        javax.validation.ConstraintViolationException: Bean Validation constraint(s) violated while executing Automatic Bean Validation on callback event:'preUpdate'. Please refer to embedded ConstraintViolations for details.

    Any pointer would be really appreciated. Thanks in advance you all.

  • #2
    wow! got it! I had to change the validation-mode in my persistence.xml from Auto to NONE which basically tells the app not to used the bean validation at all. Error messages are gone and my DAO works well.

    Comment

    Working...
    X