【问题标题】:hibernate mapping for list of classes类列表的休眠映射
【发布时间】:2011-03-28 13:41:24
【问题描述】:

我有一个类 A{a_id,other properties List) 和 class B{b_id,other properties)。 我有不同的表 A 和 B 和映射表 A_B(a_id,b_id,displayorder)。表中的条目是常量。我们可以从表 A 中插入/更新/删除。我尝试使用列表在休眠中映射它,但它没有在 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>

【问题讨论】:

  • 显示您的 hbm 文件的代码。
  • codecode

标签: hibernate


【解决方案1】:

像这样更改 A 的 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2023-03-14
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多