openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Dick (JIRA)" <j...@apache.org>
Subject [jira] Commented: (OPENJPA-1787) Bean validation fails merging a new entity
Date Tue, 08 Mar 2011 21:42:00 GMT

    [ https://issues.apache.org/jira/browse/OPENJPA-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13004237#comment-13004237
] 

Michael Dick commented on OPENJPA-1787:
---------------------------------------

The main problem with your proposed solution is that it would change the way merge works.
EntityManager.merge creates a new copy of the entity and it's the copy of the entity that
becomes part of the persistence context - not the entity you passed in. Your change would
eliminate the copy.

I think the real issue here is that the data hasn't been copied into the new instance before
validation occurs. I'm not familiar with this code path, and I haven't had a chance to try
your testcase yet, but I'd start by looking at the code where we copy the fields into a new
instance. 

> Bean validation fails merging a new entity
> ------------------------------------------
>
>                 Key: OPENJPA-1787
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1787
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa, kernel
>    Affects Versions: 2.0.1, 2.1.0, 2.2.0
>            Reporter: Oliver Ringel
>            Priority: Critical
>         Attachments: com.example.TestEmployeeDAO.txt, openjpa-1787.tar, testcase-openjpa-1787.tar
>
>
> The bean validation is not working correctly
> If you try to merge a new entity.
>         EntityManager em = entityManagerFactory.createEntityManager();
>         Person person = new Person();
>         person.setName("Oliver");                               // Employee.name is annotated
@NotNull 
>         person = em.merge(person);                            
> you get a ConstraintValidationException, although name is set. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message