私のオブジェクトモデルは、関心の2つのオブジェクトが含まれ、RuleGroupとルール休止状態:マッピングコレクションクロスリファレンス表の「その他」の欄
マイRuleGroupオブジェクトは、ルールのセットが含まれています。
したがって、RULE_GRPテーブルとRULEテーブルの間をマップして、どのルールがRuleGroupに属しているかを指定するRULE_GRP_MEMBERという相互参照テーブルがあります。
My RuleGroupマッピングファイルは次のとおりですが、問題なく正常に動作します。
<class name="a.b.c.d.RuleGroup" table="RULE_GRP">
<id name="ruleGroupID" column="RULE_GRP_ID">
<generator class="increment"/>
</id>
<set name="rules" lazy="true" cascade="save-update" table="RULE_GRP_MEMBER">
<key column="RULE_GRP_ID" not-null="false"/>
<!-- Unique set to true makes this a one to many relationship -->
<many-to-many unique="true" column="RULE_ID" class="a.b.c.d.Rule"/>
</set>
....
</class>
マイルールマッピングファイルには、RuleGroupオブジェクトへの参照が含まれていません。
問題は、新しいNULLでないフィールドRULE_SEQをRULE_GRP_MEMBERテーブルに導入することです。したがって、新しいルールがRuleGroupに追加されると、新しい行がRULE_GRP_MEMBERテーブルに追加されます。
このRULE_SEQフィールドをオブジェクトにマッピングするにはどうすればよいですか?理想的には、私はそれを私のRuleオブジェクトにマップしたいと思いますが、私は確信していません 私はどんなHibernateコンセプトを使うべきですか?あなたが参加table.Thisが複合キーRULE_GRP_ID、RULE_IDを持っての列を含むテーブルを結合するためのPOJOを作成する必要があります。この場合
おかげ
はい、これは最終的に取ったアプローチです。簡単な代替手段は見当たりませんでした – DJ180