批量插入(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();
分享到:
相关推荐
在我们的Java项目中,批量更新是指在...批量删除虽然在Hibernate里也可以实现,但因Hibernate的实现机制是一个一个删除,在数量大的情况下很影响效率;其实Hibernate提供的JDBC接口,可以方便的进行批量的更新和删除。
主要介绍了Hibernate批量处理海量数据的方法,较为详细的分析了Hibernate批量处理海量数据的原理与相关实现技巧,需要的朋友可以参考下
10.3.1 揭开自动提交的神秘面纱 10.3.2 使用Hibernate非事务地工作 10.3.3 使用JTA的可选事务 10.4 小结 第11章 实现对话 11.1 传播Hibernate Session 11.1.1 Session传播的用例 ...
最近在深入学习hibernate,在进行批量操作时,发现hibernate批量操作性能非常低.于是就想找一个性能较高的方法,在对jdbc、jdbcTemplate、hibernate进行测试后,发现jdbc的执行效率是最高的,jdbcTemplate也很相近,...
事务提交时 ii. Session.flush(); 4. 管理session一级缓存的方法 a) Session.evict(obj)从session的一级缓存中移出一个对象 b) Session.clear() 将一级缓存中的所有对象全部清空 c) Session.close() 关闭一个...
这是Hibernate3引入的新特性,对于包含重量级大数据的表字段,这种抽取方式提高了对大字段操作的灵活性,否则加载Tfile对象的结果集时如果总是返回fileContent,这种批量的数据抽取将可以引起数据库的"洪泛效应"。...
1. 描述一下Hibernate的三个状态 4. mybatis如何实现批量提交 5. session机制 1. session是服务器的生成,并传至客户端浏览
1. 描述一下Hibernate的三个状态 4. mybatis如何实现批量提交 5. session机制 1. session是服务器的生成,并传至客户端浏览
由当前流行的jsp+struts2+hibernate+spring+ajax等最新技术实现; 有很高的安全性,对系统中的任何操作均有日志记录;方便快捷,支持通过Excel文件批量导入导出各种数据,实现与第三方软件的无缝连接; 针对各种房...
由当前流行的jsp+struts2+hibernate+spring+ajax等最新技术实现; 有很高的安全性,对系统中的任何操作均有日志记录;方便快捷,支持通过Excel文件批量导入导出各种数据,实现与第三方软件的无缝连接; 针对各种房...
宿舍标签打印是舍管向上提交书面资料必要的途径。 第四个板块是缴费查询是学生入学时需要缴纳的费用明细,与教务处学生信息直接挂钩,既从教务处拿到学生ID以提供学生应缴费用,又通过缴费过程直接反馈给系统学生...
<converter id="hibernate" class="uk.ltd.getahead.dwr.convert.HibernateBeanConverter"/> class="uk.ltd.getahead.dwr.convert.DOMConverter"/> class="uk.ltd.getahead.dwr.convert.DOM4JConverter"/> ...
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 沿着...
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. 唯一标识字符串算法 ...
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. 唯一标识字符串算法 ...
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 ...