Hibernate:Mapping“;其他";集合交叉引用表中的列

Hibernate:Mapping“;其他";集合交叉引用表中的列,hibernate,Hibernate,我的对象模型包含两个感兴趣的对象,一个规则组和一个规则 My RuleGroup对象包含一组规则 因此,我有一个名为RULE_GRP_MEMBER的交叉引用表,它在RULE_GRP表和RULE表之间映射,以指定哪些规则属于规则组 我的规则组映射文件如下所示,它工作正常,没有问题 <class name="a.b.c.d.RuleGroup" table="RULE_GRP"> <id name="ruleGroupID" column="RULE_GRP_ID">

我的对象模型包含两个感兴趣的对象,一个规则组和一个规则

My RuleGroup对象包含一组规则

因此,我有一个名为RULE_GRP_MEMBER的交叉引用表,它在RULE_GRP表和RULE表之间映射,以指定哪些规则属于规则组

我的规则组映射文件如下所示,它工作正常,没有问题

<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_GRP_成员表中引入了一个新的非空字段RULE_SEQ。因此,当一个新规则被添加到一个规则组时,一个新行将被添加到Rule\u GRP\u成员表中

如何将此规则字段映射到我的对象?理想情况下,我希望将其映射到我的规则对象,但我不确定 我甚至应该使用什么样的Hibernate概念


谢谢在这种情况下,您可能需要为包含联接表列的联接表创建一个POJO。这将有一个复合键RULE\u GRP\u ID,RULE\u ID。新的列seq最好在这个新的HBM中定义,因为它属于联接表


然后,您可以从RUL_GRP表中向此添加集合映射。

是的,这是我们最终采用的方法。没有看到任何简单的选择