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

Thomas Hug commented on DELTASPIKE-673:
---------------------------------------

Note that you can use EntityManager semantics explicitly if you want, see
http://deltaspike.apache.org/data#other-entitymanager-methods

I think we discussed isNew() some time ago on the dev mailing list and kind of 
concluded that it should be possible to change the behavior there and plug in 
different/custom strategies to make sure the correct method is called. 

> CdiQueryInvocationContext#isNew does not work well with OpenJpa and detached 
> entities
> -------------------------------------------------------------------------------------
>
>                 Key: DELTASPIKE-673
>                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-673
>             Project: DeltaSpike
>          Issue Type: Improvement
>          Components: Data-Module
>    Affects Versions: 1.0.0
>            Reporter: Philip Herbst
>
> I'm trying to use org.apache.deltaspike.data.api.EntityRepository on TomEE 
> 1.5.2 with detached entities. Whenever I try to call the save method of 
> EntityRepository I get 
> {code}
> org.apache.openjpa.persistence.EntityExistsException: Attempt to persist 
> detached object
> {code}
> CdiQueryInvocationContex#isNew returns true for my detached entity and and 
> because of that EntityManager#persist is called. 
> see org.apache.deltaspike.data.impl.handler.EntityRepositoryHandler#save
> From OpenJpaPersistenceUtil#getIdentifier(OpenJPAEntityManagerFactory emf,    
>    Object entity)
> {code}
>     /**
>      * Get the object identifier for a persistent entity managed by one
>      * of the entity managers of the specified entity manager factory.
>      * @return The identifier of the entity or null if the entity does
>      * not have an identifier assigned or is not managed by any of the
>      * entity managers of the entity manager factory.
>      */
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to