在企业应用开发中,经常用到批量插入的功能。对于Hibernate,如果使用方法不当,性能将大打折扣,令人难以忍受。这里介绍一种批量插入的方法,代码如下:
java 代码
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- for ( int i=0; i<100000; i++ ) {
- Customer customer = new Customer(.....);
- session.save(customer);
- if ( i % 20 == 0 ) {
- //20,与JDBC批量设置相同
- //将本批插入的对象立即写入数据库并释放内存
- session.flush();
- session.clear();
- }
- }
- tx.commit();
- session.close();
对于批量更新,方法大致相同!
本文介绍了一种使用Hibernate进行批量插入的高效方法。通过在插入一定数量的数据后调用flush()和clear()方法来释放内存,从而提高批量操作的性能。
1007

被折叠的 条评论
为什么被折叠?



