У меня есть сопоставление, как указано ниже.
Когда я обновляю отдельный элемент Категории (который не содержит ни одного класса Hibernate, как это происходит из конвертера dto), я замечаю, что Hibernate сначала удалит ВСЕХ работодателяэкземпляры заработной платы (ссылка на коллекцию), а затем вставьте ВСЕ записи заработной платы работодателя ОДИН-ПО-ОДНОМУ: (...
Я понимаю, что он должен удалить, а затем вставить все записи, поскольку он был полностью отделен.*
НО, чего я не понимаю, почему 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>