Hibernate 休眠:在子对象为空时单独保存父对象

Hibernate 休眠:在子对象为空时单独保存父对象,hibernate,Hibernate,我有父表和子表。父项具有一组子项。这两个表具有一对多关系。在hbm中,我将一个映射到多个。我的要求是,当子项大小为空时,我不应保存子项,只应保存父项。如果子项大小不为空,则应同时保存父项和子项。在子表中,我有3列,所有列都不是空列。我不能保存空值。在冬眠状态下可能吗?如果是这样,请在这方面帮助我 谢谢 只要您坚持使用实体对象,hibernate就会执行您想要的操作 如果没有空列,则必须提供值。在hibernate映射中,不要添加NOTNULL='true' parent.hbm.xml <

我有父表和子表。父项具有一组子项。这两个表具有一对多关系。在hbm中,我将一个映射到多个。我的要求是,当子项大小为空时,我不应保存子项,只应保存父项。如果子项大小不为空,则应同时保存父项和子项。在子表中,我有3列,所有列都不是空列。我不能保存空值。在冬眠状态下可能吗?如果是这样,请在这方面帮助我


谢谢

只要您坚持使用实体对象,hibernate就会执行您想要的操作


如果没有空列,则必须提供值。

在hibernate映射中,不要添加NOTNULL='true'

parent.hbm.xml

<set cascade="all, delete-orphan" name="child" order-by="param">
      <key>
        <column name="child_parent_id"/>
      </key>
      <one-to-many class="com.Child"/>
</set>

child.hbm.xml

<many-to-one class="com.Parent" insert="false" name="rateCode" update="false">
      <!-- cascade="all" -->
      <column name="child_parent_id"/>
</many-to-one>

爪哇

save | saveUpdate


parent.addChild=null

感谢您的回复…当chidl为null时,是否可以只保留父级而不保留子级?是的。通过使用空集或空集,您可以没有子级。不过,不要在集合中输入空值。嗨,拉维,非常感谢你的回复。若我们使用上面的代码,因为我们使用的是cascade=all,那个么hibernate会在子表中插入外键吗?如果插入,则会出现问题,因为在子表中,所有列都不是空列。正如我在保存父项时所说的,使用子项集| list | bag to
null
,因此子项id也将为空