用户登录
用户注册

分享至

hibernate批量操作

  • 作者: 那晚越女说我?
  • 来源: 51数据库
  • 2020-10-14

是用循环,最后commit,但是要注意不能一次过循环save10000条数据再commit,因为这样会使Hibernate的一级缓存爆满导致内存溢出的异常,所以每隔100条记录就commit一次吧,Hibernate的二级缓存会决定该什么时候提交以实现批量插入的高效率的。

try { 

tx = session.beginTransaction(); 

for(int i=0;i<=10000;i++)

{

  UserInfo u = new UserInfo(); 

  u.setUserName("FuJingZhou"); 

  u.setPassword("123"); 

  session.save(u); 

  if(i%100||i==10000)

  {

    tx.commit(); 

    if(i<10000)

      tx = session.beginTransaction(); 

  }

}

tx = null; 

}

方法大概是这样的,这段代码我没有运行过,你再注意一下结构吧。


软件
前端设计
程序设计
Java相关