用于列表的hibernate映射

时间:2011-03-28 13:41:25

标签: hibernate

我有一个类A {a_id,其他属性列表)和类B {b_id,其他属性)。 我有A和B的不同表和映射表A_B(a_id,b_id,displayorder)。表中的条目是常量。我们可以从表A中插入/更新/删除。我尝试使用list在hibernate中映射它,但它没有在A_B中插入任何行。应该是映射上述场景的理想方式。

<class name="A" table="A"> 
    <id name="templateKey" column="templateKey"> 
        <generator class="native" /> 
     </id> 
    <property name="id" column="id"/> 
    <property name="name" column="name"/> 
    <list name="selectedColumns" table="A_B"> 
        <key column="templateKey"/> 
        <list-index column="displayOrder"/> 
        <one-to-many class="B" /> 
    </list> 
</class> 
<class name="B" table="B"> 
    <id name="columnKey" column="columnKey"> 
        <generator class="native" /> 
    </id> 
    <property name="displayName" column="displayName" /> 
</class>

1 个答案:

答案 0 :(得分:1)

像这样更改你的hbm文件。 您错过了A的hbm文件中的 Cascade ,这就是为什么我怀疑它没有插入A_B。

<class name="A" table="A">
        <id name="templateKey" column="templateKey">
            <generator class="native" />
        </id>
        <property name="id" column="id" />
        <property name="name" column="name" />
        <list name="selectedColumns" table="A_B" cascade="all">
            <key column="templateKey" />
            <list-index column="displayOrder" />
            <one-to-many class="B" />
        </list>
    </class>