I'm using jpa (hibernate) and I'm trying to make several insert then I'm going to use batch but I have the following problem: Hibernate only makes all insert in the final of process. I'm using jpa (hibernate 4), ejb 3.1, jboss eap 6.1, JTA ans Postgresql
<persistence-unit name="VSDialerUnit" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/VSDialer</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.temp.use_jdbc_metadata_defaults" value="false"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.jdbc.batch_size" value="50"/>
<property name="hibernate.jdbc.fetch_size" value="50"/>
</properties>
</persistence-unit>
public void inserirBatch(T objeto, Integer quantidade){
entityManager.persist(objeto);
if(quantidade % 50 == 0){
limparEntityManager();
}
}
public void limparEntityManager(){
entityManager.flush();
entityManager.clear();
}