在企业应用开发中,经常用到批量插入的功能。对于Hibernate,如果使用方法不当,性能将大打折扣,令人难以忍受。这里介绍一种批量插入的方法,代码如下:
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();
对于批量更新,方法大致相同!
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();
对于批量更新,方法大致相同!