Watching a new world…

May 12th, 2009

Hibernate: Bidrektinales Mapping mit IndexColumn

Wenn eine OneToMany Property bidirektional über das mappedBy-Attribut gemappt ist, weiger Hibernate sich, sich um die IndexColumn zu kümmern. Beispiel:

public class Parent {
@OneToMany(mappedBy="parent")
@IndexColumn(name = "idx")
private List children = new ArrayList();
// ...
}
public class Child {
@ManyToOne
private Parent parent;
// ...
}

… funktioniert leider nicht. Die IndexColumn wird von Hibernate nicht mehr verwaltet, da der Owner hier die Klasse Child ist.

Der Trick ist, das Ownership umzukehren:


public class Parent {
@OneToMany
@JoinColumn(name = "parent_id")
@IndexColumn(name = "idx")
private List children = new ArrayList();
// ...
}
public class Child{
@ManyToOne
@JoinColumn(name = "parent_id", updatable = false, insertable = false)
private Parent parent;
// ...
}

Nun gehts!

Danke an: http://josian.wordpress.com

No Responses to “Hibernate: Bidrektinales Mapping mit IndexColumn”

No comments yet

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

klipal online pharmacy buy online cialis viagra online xanax cream for women order zyban online oxazepam buy alternative erection lorazepam cheap drugs 2003 tramadol tramadol market sales tramadol rx pills diazepam discount retail alternative to valium at gnc online drugstore tenuate order order levitra discount cialis buy the cheapest propecia online cheapest generic viagra online drugstore order cialis soft tabs over internet need no doctor cheapest levitra prices woman viagra soft tabs natural substitutes for viagra soft tabs online viagra natural levitra substitutes female cialis alternative