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.

questionAnswers(1)

yourAnswerToTheQuestion