[
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)