0
を投げマージ6.1 WAS、私はEntityManamger.merge(OBJ)を呼び出すしようとすると、私はこの例外を取得:のEntityManagerが上に展開私のEJBプロジェクトでEntityExists例外
Exception data: <openjpa-1.0.4-SNAPSHOT-r420667:955062 nonfatal store error> org.apache.openjpa.persistence.EntityExistsException: Attempt to persist detached object "[email protected]". If this is a new instance, make sure any versino and/or auto-generated primary key fields are null/default when persisting.
FailedObject: [email protected]aa
at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2368)
at org.apache.openjpa.kernel.AttachStrategy.persist(AttachStrategy.java:94)
at org.apache.openjpa.kernel.VersionAttachStrategy.attach(VersionAttachStrategy.java:95)
at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:241)
at org.apache.openjpa.kernel.AttachStrategy.attachCollection(AttachStrategy.java:333)
at org.apache.openjpa.kernel.AttachStrategy.replaceCollection(AttachStrategy.java:301)
at org.apache.openjpa.kernel.AttachStrategy.attachField(AttachStrategy.java:220)
at org.apache.openjpa.kernel.VersionAttachStrategy.attach(VersionAttachStrategy.java:157)
at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:241)
at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:101)
at org.apache.openjpa.kernel.BrokerImpl.attach(BrokerImpl.java:3161)
at org.apache.openjpa.kernel.DelegatingBroker.attach(DelegatingBroker.java:1142)
at org.apache.openjpa.persistence.EntityManagerImpl.merge(EntityManagerImpl.java:665)
at com.ibm.ws.jpa.management.JPAExEmInvocation.merge(JPAExEmInvocation.java:335)
at com.ibm.ws.jpa.management.JPAEntityManager.merge(JPAEntityManager.java:123)
私はJPAEntityManager.java
のソースを持っていません。私は、Mergeが最初にエンティティが存在するかどうかを確認するため、merge()
操作でEntityExistsExceptionをスローできないと考えました。そうでない場合は、挿入します。はいの場合は、更新してください。 ここで何がうまくいかないのですか?
を維持しています。私は、OpenJPAランタイムで何か悪いことが起こっていると思われ、マージしようとしているエンティティがアップデートではなく新しいものであることを間違って検出しています。 IdとVersion属性のスニペットを投稿できますか?また、シナリオの説明を少し良くするといいでしょう。すなわち、エンティティはあなたがマージしているところから来たのですか? – Rick
ご返信ありがとうございます。私はもっとポストしようとします。 – Victor