openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dick <michael.d.d...@gmail.com>
Subject Re: inverse OneToMany relation - getting weird
Date Fri, 13 Nov 2009 15:52:41 GMT
Hi Marc,

I think the @ElementForeignKey and @ElementJoinColumn annotations are
intended to be used with non-entity types (ie PersistentCollections).

If Child is an entity you'd want to use @ForeignKey and @JoinColumn instead
(I gave this a quick try and it looks like it worked for me).

Regards,
-mike

On Fri, Nov 13, 2009 at 7:03 AM, Marc Logemann <li@logemann.org> wrote:

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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message