2011-12-01(Thu)
hibernateでリレーションを組んでみる(1)
ParentsがOne
Childrenが複数いるのでMany
であるとすると
Parents.hbm.xmlにはone-to-many
Children.hbm.xmlはmany-to-one
のタグを追加することになる。
Entityの定義には参照用のinstance定義?として
それぞれ以下の通り追加する。
次は、hbm.xmlファイルに追加する。
ChildrenからParentsを参照するならDB側のChildrenテーブルにParentsカラムを作成しておき
レコード生成時にentityをsave()しておく。
参考:
HIBERNATE イン アクション
Hibernate (開発者ノートシリーズ)
Childrenが複数いるのでMany
であるとすると
Parents.hbm.xmlにはone-to-many
Children.hbm.xmlはmany-to-one
のタグを追加することになる。
Entityの定義には参照用のinstance定義?として
それぞれ以下の通り追加する。
@Entity
@Table(appliesTo = "Parents")
public class Parents{
@Id
private Integer id;
private String name;
provate Integer age;
private Setchildrenset; /** Childrenインスタンスはここにロードされる */
(以下、getter, setterメソッドは省略)
}
@Entity
@Table(appliesTo = "Children")
public class Children{
@Id
private Integer id;
private String position;
provate Integer age;
private Parents Parents; /** 単数なので型はParentsとなる */
(以下、getter, setterメソッドは省略)
}
次は、hbm.xmlファイルに追加する。
< !-- Parents側(Parents.hbm.xml) -->
< set name="childrenset" sort="unsorted">
< key>
< column name="id"/>
< /key>
< one-to-many class="db.hoge.model.Parents"/>
< /set>
< !-- Children側(Children.hbm.xml) -->
< many-to-one
cascade="all" class="db.parents.model.Parents" column="id"
insert="false" lazy="false" name="parents" update="false"
/>
ChildrenからParentsを参照するならDB側のChildrenテーブルにParentsカラムを作成しておき
レコード生成時にentityをsave()しておく。
参考:
HIBERNATE イン アクション
Hibernate (開発者ノートシリーズ)
- 関連記事
スポンサーサイト