次のようなDBテーブルがあります。
Person
ID | ParentID | Name
各人には親がいます (1 つだけ)。各人は N 人の子供を持つことができます。
私の質問は、JPA 1 と Hibernate を使用して、エンティティでこれを正しくマップする方法です。私の目標は、内部のすべての子が正しく埋められた 1 つの Java オブジェクト (私の祖父母) だけを持つことです。祖父母を永続化するとき、すべての子供も正しく永続化されることを期待しています。
私が現在達成したことは次のようなものです:
@ManyToOne()
@JoinColumn(name="PARENTID")
private Person parent;
@OneToMany(mappedBy = "parent", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private List<Person> children;
祖父母を永続化すると、全員が正しく DB に追加されますが、PARENTID 列は NULL であり、これは正しくありません。
PARENTID が JPA/Hibernate によって正しく設定されるように、これを正しくマップするにはどうすればよいですか?