以下のようなマッピングがあります。
デタッチされたCategoriesアイテム(dtoコンバーターからのHibernateクラスを含まない)を更新すると、Hibernateが最初にすべての雇用者賃金インスタンス(コレクションリンク)を削除し、次にすべての雇用者賃金エントリを1つずつ挿入することに気付きました。 -1 :(...
完全に切り離されたため、すべてのエントリを削除してから挿入する必要があることを理解しています。
しかし、私が理解していないのは、なぜHibernateが一括挿入ですべてのエントリを挿入しないのですか?..つまり、すべての雇用主の賃金エントリをすべて1つの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>