0

私のオブジェクト モデルには、関心のある 2 つのオブジェクト、RuleGroup と Rule が含まれています。

私の RuleGroup オブジェクトには一連のルールが含まれています。

そのため、RULE_GRP テーブルと RULE テーブルの間をマッピングして、RuleGroup に属するルールを指定する RULE_GRP_MEMBER という相互参照テーブルがあります。

私の 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>

Rule マッピング ファイルに RuleGroup オブジェクトへの参照が含まれていません。

問題は、新しい非ヌル フィールド RULE_SEQ を RULE_GRP_MEMBER テーブルに導入しようとしていることです。そのため、新しいルールが RuleGroup に追加されると、新しい行が RULE_GRP_MEMBER テーブルに追加されます。

この RULE_SEQ フィールドをオブジェクトにマッピングするにはどうすればよいですか? 理想的にはそれをルール オブジェクトにマップしたいのですが、どの Hibernate コンセプトを使用すればよいかわかりません。

ありがとう

4

1 に答える 1

1

この場合、結合テーブルの列を含む結合テーブルの POJO を作成する必要がある場合があります。これには、複合キー RULE_GRP_ID、RULE_ID があります。新しい列 seq は、結合テーブルに属しているため、理想的にはこの新しい HBM で定義する必要があります。

次に、RULE、RUL_GRP テーブルからこれにセット マッピングを追加できます。

于 2012-04-17T06:37:33.757 に答える