【发布时间】:2011-06-18 05:41:34
【问题描述】:
我有父表和子表。父母有一组孩子。这两个表有一对多的关系。在 hbm 中,我映射了一对多。我的要求是当孩子的大小为空时,我不应该保存孩子,只有父母应该被保存。如果孩子的大小不为空,那么父母和孩子都应该被保存。在子表中,我有 3 列都不是空列。我无法保存空值。可以在休眠状态下吗?如果是这样,请在这方面帮助我。
谢谢!
【问题讨论】:
标签: hibernate
我有父表和子表。父母有一组孩子。这两个表有一对多的关系。在 hbm 中,我映射了一对多。我的要求是当孩子的大小为空时,我不应该保存孩子,只有父母应该被保存。如果孩子的大小不为空,那么父母和孩子都应该被保存。在子表中,我有 3 列都不是空列。我无法保存空值。可以在休眠状态下吗?如果是这样,请在这方面帮助我。
谢谢!
【问题讨论】:
标签: hibernate
只要你persist你的实体对象,hibernate就会做你想做的事。
如果您没有空列,则必须提供值。
【讨论】:
在休眠映射中不要add not-null='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>
java
而save|saveUpdate
parent.addChild = null;
【讨论】:
NULL 所以子 ID 也将为空