Hi,

after struggling for several hours, i need to ask for help.

Following scenario.....

DB Table: Father
---------------------------
INT oid
....


DB Table: Childs
------------------------
INT oid
INT father_oid
...

Java Entity: Father
--------------------------
...
@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "father")
 private List<Child> childList;

Java Entity: Child
--------------------------
...
@ManyToOne(cascade = CascadeType.PERSIST)
@ElementForeignKey
@ElementJoinColumn(name="father_oid", referencedColumnName="oid")
protected Father father;


When i try to persist a Father, i am getting:

<openjpa-1.2.0-r422266:683325 fatal user error> org.apache.openjpa.persistence.ArgumentException: Field "Father.childList" declares "Child.father" as its mapped-by field, but this field is not a direct relation. at......

Ok, then i changed Child to:

Java Entity: Child
--------------------------
...
@ManyToOne(cascade = CascadeType.PERSIST)
@Column(name = "father_oid")
protected Father father;


When i now do persist a Father object, both DB records (Father and Childs) are filled with records but the FK column in Child (father_oid) is empty. So the FK relation is broken but it did persist childs, which is somehow weird.

So whatever i do, i never get a fully persisted graph with correct FK values.

Can anyone give me a hint what i am doing wrong here?


Thanks a lot.

---
regards
Marc Logemann
http://www.logemann.org
http://www.logentis.de




Reply via email to