What do you have set for properties in your persistence.xml ?

Thanks,
Rick

On Wed, Nov 9, 2011 at 8:57 AM, M. Walter <marc.wal...@sbb.ch> wrote:

> We have an entity A having a OneToOne unidirectional relationship to
> entity B
> configured like this:
>
> In entity A:
> @OneToOne(cascade = CascadeType.ALL)
> @JoinColumn(name = "B_ID")
> private B b;
>
> Now we create new entities A and B and would like to persist them:
>
> final A a = new A();
> final B b = new B();
> a.setB(b);
>
> em.persist(a);
>
> We get a PersistenceException because OpenJPA tries to insert the entity
> with the foreign key first:
>
> <openjpa-1.2.3-SNAPSHOT-r422266:1053401 nonfatal general error>
> org.apache.openjpa.persistence.PersistenceException: ORA-02291: integrity
> constraint violated - parent key not found
>  {prepstmnt 1708156368
> INSERT INTO A (ID, ROW_ERF_TSTAMP, ROW_ERF_USER,  ROW_MUT_VERSION, B_ID)
>    VALUES (?, ?, ?, ?, ?)
> [params=(long) 396, (Timestamp) 2011-11-09 15:38:12.048, (String) TEST,
> (int) 1, (long) 2772]} [code=2291, state=23000]
>
> Why does OpenJPA first try to insert entity A and not B? An how can we
> force
> OpenJPA to execute statements in the right order?
>
> Interestingly this works on our OneToMany relationships.
>
> In the internet I found
> https://issues.apache.org/jira/browse/OPENJPA-1961
> this  and  http://www-01.ibm.com/support/docview.wss?uid=swg1PK74266 this
> .
> But these issues are for OneToMany relationships. IBM provides a solution
> using the OpenJPA property openjpa.jdbc.SchemaFactory. But we would like to
> understand why persisting does not work in the OneToOne case above. So has
> somebody an explanation for our issue? Thank you in advance!
>
> We use WebSphere server 7.0.0.19 and OpenJPA 1.2.3.
>
> --
> View this message in context:
> http://openjpa.208410.n2.nabble.com/Constraint-violation-using-OneToOne-relationship-tp6978223p6978223.html
> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>



-- 
*Rick Curtis*

Reply via email to