Session 的clear方法;该方法是用来清除缓存对象的。
当HIBERNATE插入10000条数据
for(int i=0;i<10000;i++)
{
Student stu = new Student();
session.save(stu);
}
当插入到5000行数据的时候可能抛出例外了,内存溢出。实际上JDBC具有批处理功能,能将多余的SQL语句累积起来一起提交到数据库中进行处理。在HIBERNATE中的配置在hibernate.cfg.xml
<property name="hibernate.jdbc.batch_size">20</property>
然后在程序中:
for(int i=0;i<10000;i++)
{
Student stu = new Student();
session.save(stu);
if(i%20==0){
session.flush();
session.clear();
}
}