Hibernate EntityManager persist () e contagem de viagem de ida e volta do banco de dados
Agora estou usando o entitymanager para inserir uma lista de entidade de objeto no banco de dados com o meu dao usando código como este.
<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>
E quando eu monitoro a instrução sql adiciono isso no contexto da aplicação
<code> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="true"/> </bean> </property> </code>
E o resultado no console ficará assim
<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>
Minha pergunta é. Isso significa que toda vez que eu chamar esse método, ele fará uma viagem de ida e volta com banco de dados por 100 vezes, ou fará apenas uma viagem de ida e volta, ou então?
Qualquer resposta ou insight seria apreciado.
Obrigado.