Hibernate EntityManager persist () и количество обращений к базе данных
Прямо сейчас я использую entitymanager для вставки списка объектных сущностей в базу данных с моим дао, используя такой код.
<code>@Transaction public void insertBatch(List<EntityObject> o){ for(int i=0;i<o.size();i++){ em.persist(o); if(o.size % 100 == 0){ //equal to JDBC batch size em.flush(); em.clear(); } } } </code>
И когда я наблюдаю за оператором SQL, добавив это в контекст приложения
<code> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="true"/> </bean> </property> </code>
И результат в консоли будет выглядеть так
<code>Hibernate: insert into TABLE (FIELD1, FIELD2) values (?, ?) Hibernate: insert into TABLE (FIELD1, FIELD2) values (?, ?) ... ... ...//untill reach 100 lines. Hibernate: insert into TABLE (FIELD1, FIELD2) values (?, ?) </code>
Мой вопрос Означает ли это, что каждый раз, когда я вызываю этот метод, он будет совершать туда-обратно с базой данных 100 раз, или это будет только 1 поездка в оба конца, или еще?
Любой ответ или понимание будет признателен.
Благодарю.