2

OpenJPA 是否支持类似于Hibernate的批量插入?我没有在文档中找到它,但我希望我错过了它。我知道JPA 通常不支持它

4

1 回答 1

4

简短的回答,是的。

更长的答案,获取指向 Hibernate 文档的链接,并将 Session 替换为 JPA EntityManager。

EntityManager em = emf.createEntityManager();
Transaction tx = em.getTransaction();

tx.begin();   
for ( int i=0; i<100000; i++ ) {
    Customer customer = new Customer(.....);
    em.persist(customer);
    if ( i % 20 == 0 ) { //20, same as the JDBC batch size
        //flush a batch of inserts and release memory:
        em.flush();
        em.clear();
    }
}

tx.commit();
em.close();
于 2012-05-24T12:52:35.323 回答