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