我有如下所列的映射。
当我更新一个分离的类别项目(它不包含任何来自 dto 转换器的 Hibernate 类)时,我注意到 Hibernate 将首先删除所有雇主工资实例(集合链接),然后插入所有雇主工资条目 ONE-BY -一 :(...
我知道它必须删除然后插入所有条目,因为它已完全分离。
但是,我不明白的是,为什么 Hibernate 不通过批量插入插入所有条目?.. 那就是:在一个 SQL 语句中插入所有雇主工资条目?
如何告诉 Hibernate 使用批量插入?(如果可能的话)。我尝试使用以下值,但没有发现任何区别:
hibernate.jdbc.batch_size=30
我的映射片段:
<class name="com.sample.CategoriesDefault" table="dec_cats" >
<id name="id" column="id" type="string" length="40" access="property">
<generator class="assigned" />
</id>
<component name="incomeInfoMember" class="com.sample.IncomeInfoDefault">
<property name="hasWage" type="boolean" column="inMemWage"/>
...
<component name="wage" class="com.sample.impl.WageDefault">
<property name="hasEmployerWage" type="boolean" column="inMemEmpWage"/>
...
<set name="employerWages" cascade="all-delete-orphan" lazy="false">
<key column="idCats" not-null="true" />
<one-to-many entity-name="mIWaEmp"/>
</set>
</component>
</component>
</class>