3
这里是我的映射的一部分:休眠:在删除+插入组合元素结果在每次提交
<hibernate-mapping package="trx.domain">
<class name="Master" table="master" dynamic-update="true" dynamic-insert="true">
<set name="attributes" table="attribute" lazy="true"
cascade="all" batch-size="10">
<cache usage="nonstrict-read-write" />
<key>
<column name="master_id" />
</key>
<composite-element class="Attribute">
<many-to-one name="type" class="AttributeType"
not-null="true" column="attribute_type_id" lazy="false" />
<property name="value">
<column name="value" />
</property>
</composite-element>
</set>
</class>
</hibernate-mapping>
如果我只是扫描attributes
集,没有任何更新,休眠仍将执行批处理的delete
并提交insert
操作。
Hibernate: delete from attribute where master_id=? and attribute_type_id=?
Hibernate: delete from attribute where master_id=? and attribute_type_id=?
Hibernate: insert into attribute (master_id, attribute_type_id, value) values (?, ?, ?)
Hibernate: insert into attribute (master_id, attribute_type_id, value) values (?, ?, ?)
为什么发生这种情况?如何预防它?
这工作,非常感谢。 – 2010-07-27 10:10:24