Hibernate EntityManager persist () y el recuento de ida y vuelta de la base de datos

Ahora mismo estoy usando entitymanager para insertar una lista de entidad de objeto en la base de datos con mi dao usando un 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>

Y cuando superviso la declaración de SQL al agregar esto en el contexto de la aplicación

<code>    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                           <property name="showSql" value="true"/>
        </bean>
    </property>
</code>

Y el resultado en consola se verá así.

<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>

Mi pregunta es. ¿Significa que cada vez que llamo a este método, realizará el viaje de ida y vuelta con la base de datos por 100 veces, o es solo un viaje de ida y vuelta?

Cualquier respuesta o percepción sería apreciada.

Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta