2

次のような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 によって正しく設定されるように、これを正しくマップするにはどうすればよいですか?

4

0 に答える 0