`

Hibernate批量提交

阅读更多
批量插入(Batch inserts)
如果要将很多对象持久化,你必须通过经常的调用 flush() 以及稍后调用 clear() 来控制第一级缓存的大小。

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, same as the JDBC batch size //20,与JDBC批量设置相同
        //flush a batch of inserts and release memory:
        //将本批插入的对象立即写入数据库并释放内存
        session.flush();
        session.clear();
    }
}
  
tx.commit();
session.close();
分享到:
评论

相关推荐

    hibernate批量删除

    在我们的Java项目中,批量更新是指在...批量删除虽然在Hibernate里也可以实现,但因Hibernate的实现机制是一个一个删除,在数量大的情况下很影响效率;其实Hibernate提供的JDBC接口,可以方便的进行批量的更新和删除。

    Hibernate批量处理海量数据的方法

    主要介绍了Hibernate批量处理海量数据的方法,较为详细的分析了Hibernate批量处理海量数据的原理与相关实现技巧,需要的朋友可以参考下

    Hibernate实战(第2版 中文高清版)

     10.3.1 揭开自动提交的神秘面纱   10.3.2 使用Hibernate非事务地工作   10.3.3 使用JTA的可选事务   10.4 小结   第11章 实现对话   11.1 传播Hibernate Session   11.1.1 Session传播的用例   ...

    mysql三种批量增加的性能分析

    最近在深入学习hibernate,在进行批量操作时,发现hibernate批量操作性能非常低.于是就想找一个性能较高的方法,在对jdbc、jdbcTemplate、hibernate进行测试后,发现jdbc的执行效率是最高的,jdbcTemplate也很相近,...

    hibernate总结

    事务提交时 ii. Session.flush(); 4. 管理session一级缓存的方法 a) Session.evict(obj)从session的一级缓存中移出一个对象 b) Session.clear() 将一级缓存中的所有对象全部清空 c) Session.close() 关闭一个...

    ssh(structs,spring,hibernate)框架中的上传下载

    这是Hibernate3引入的新特性,对于包含重量级大数据的表字段,这种抽取方式提高了对大字段操作的灵活性,否则加载Tfile对象的结果集时如果总是返回fileContent,这种批量的数据抽取将可以引起数据库的"洪泛效应"。...

    6.2、框架—其他(12题)1

    1. 描述一下Hibernate的三个状态 4. mybatis如何实现批量提交 5. session机制 1. session是服务器的生成,并传至客户端浏览

    06.2、框架—其他(12题)1

    1. 描述一下Hibernate的三个状态 4. mybatis如何实现批量提交 5. session机制 1. session是服务器的生成,并传至客户端浏览

    房地产销售管理系统

    由当前流行的jsp+struts2+hibernate+spring+ajax等最新技术实现; 有很高的安全性,对系统中的任何操作均有日志记录;方便快捷,支持通过Excel文件批量导入导出各种数据,实现与第三方软件的无缝连接; 针对各种房...

    房地产销售管理系统V3.0

    由当前流行的jsp+struts2+hibernate+spring+ajax等最新技术实现; 有很高的安全性,对系统中的任何操作均有日志记录;方便快捷,支持通过Excel文件批量导入导出各种数据,实现与第三方软件的无缝连接; 针对各种房...

    高校新生录入系统

    宿舍标签打印是舍管向上提交书面资料必要的途径。 第四个板块是缴费查询是学生入学时需要缴纳的费用明细,与教务处学生信息直接挂钩,既从教务处拿到学生ID以提供学生应缴费用,又通过缴费过程直接反馈给系统学生...

    DWR.xml配置文件说明书(含源码)

    &lt;converter id="hibernate" class="uk.ltd.getahead.dwr.convert.HibernateBeanConverter"/&gt; class="uk.ltd.getahead.dwr.convert.DOMConverter"/&gt; class="uk.ltd.getahead.dwr.convert.DOM4JConverter"/&gt; ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    1.6.6 提交(Commit)修改 42 1.6.7 同步(Update)本地文件 43 1.6.8 添加文件和目录 44 1.6.9 删除文件和目录 45 1.6.10 查看文件或目录的版本变革 45 1.6.11 从以前版本重新开始 46 1.6.12 创建分支 46 1.6.13 沿着...

    NHibernate参考文档 2.0.0 chm

    5.1.2. hibernate-mapping 5.1.3. class 5.1.4. id 5.1.4.1. (主键生成策略)generator 5.1.4.2. 高/低位算法(Hi/Lo Algorithm) 5.1.4.3. 唯一标识16进制算法(UUID Algorithm ) 5.1.4.4. 唯一标识字符串算法 ...

    NHibernate中文帮组文档(2008.11月更新)

    5.1.2. hibernate-mapping 5.1.3. class 5.1.4. id 5.1.4.1. (主键生成策略)generator 5.1.4.2. 高/低位算法(Hi/Lo Algorithm) 5.1.4.3. 唯一标识16进制算法(UUID Algorithm ) 5.1.4.4. 唯一标识字符串算法 ...

    iBATIS实战

    7.4.2 开始、提交以及结束事务 124 7.4.3 我是否需要全局事务 124 7.5 定制事务 125 7.6 事务划界 126 7.6.1 将事务在表现层划界 128 7.6.2 将事务在持久层划界 128 7.6.3 将事务在业务逻辑层划界 128 7.7 小结 129 ...

Global site tag (gtag.js) - Google Analytics