[
https://issues.apache.org/jira/browse/OPENJPA-231?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12514072
]
Gokhan Ergul commented on OPENJPA-231:
--------------------------------------
Kevin,
Just reran tests against latest svn with CascadeType.ALL on ManyToOne
annotations, detached testcase fails with duplicate key exceptions, attached
testcase passes --openjpa-friendly version of testcases are at
https://issues.apache.org/jira/secure/attachment/12360321/merge-testcases.patch
in case you want to run them yourself. Also see
https://issues.apache.org/jira/browse/OPENJPA-255 for a similar issue with
detached objects, it's basically a different manifestation of the same problem.
> Incorrect handling of cascading bidirectional collections during merge/attach
> -----------------------------------------------------------------------------
>
> Key: OPENJPA-231
> URL: https://issues.apache.org/jira/browse/OPENJPA-231
> Project: OpenJPA
> Issue Type: Bug
> Components: kernel
> Affects Versions: 0.9.7
> Environment: platform-independent
> Reporter: Gokhan Ergul
> Attachments: jira-test-case.zip
>
>
> As posted on open-jpa-dev mailing list:
> -----
> I'm having a problem merging an entity, here's the simplified structure:
> Class A { @OneToMany(cascade=CascadeType.ALL, mappedBy="parent")
> Set<B> b_set;
> ...
> }
> Class B {
> @ManyToOne
> A parent;
> @OneToMany(cascade=CascadeType.ALL, mappedBy="parent")
> Set<C> c_set;
> ...
> }
> Class C {
> @ManyToOne
> B parent;
> ...
> }
> New instances of A,B,C are persisted correctly. However when I retrieve A,
> add some entries to A.b_set (with some of the new B entries have attached
> C's), em.merge(A) fails:
> - If A is detached:
> org.apache.openjpa.persistence.ArgumentException: Encountered new object
> "[EMAIL PROTECTED]" in persistent field "C.parent" of managed object "[EMAIL
> PROTECTED]" during attach. However, this field does not allow cascade
> attach. You cannot attach a reference to a new object without cascading.
> - If A is not detached:
> C instances are inserted before B instances, resulting in a
> foreign key violation.
> Setting openjpa.jdbc.SchemaFactory to 'native(ForeignKeys=true)' does not
> seem to have an effect.
> ----
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.