【发布时间】:2011-08-04 02:54:10
【问题描述】:
我有一个类,我坚持使用 Hibernate。它存储在一个包中,并使用序列生成器生成其 ID,如下所示:
<class name="Parent">
<id name="id" />
<bag name="children" access="field">
<key column="parent_id" not-null="true" />
<one-to-many class="Child" />
</bag>
</class>
<class name="Child">
<id name="id">
<generator class="sequence">
<param name="sequence">child_seq</param>
</generator>
</id>
<many-to-one name="status" not-null="true" cascade="none" />
</class>
当 Child 的 status 属性被修改时,应该插入一个新的 Child 记录而不是更新旧的记录。但是,休眠更新。有什么方法可以告诉 Hibernate 它应该 INSERT,还是我必须自己在包外管理它?
【问题讨论】:
-
听起来您使用休眠的方式令人困惑。您希望
Parent.children.size()与表中的行数不同吗?为什么不直接向包中添加一个新的 Child 实例?