- 4
- 0
- 约5.07千字
- 约 15页
- 2017-11-17 发布于河南
- 举报
hibernat批量处理和存取大对象
使用Hibernate将 100 000 条记录插入到数据库的一个很自然的做法可能是这样的 Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); for ( int i=0; i100000; i++ ) { Customer customer = new Customer(.....); session.save(customer); } mit(); session.close(); 这段程序大概运行到 50 000 条记录左右会失败并抛出 内存溢出异常(OutOfMemoryException) 。 这是因为 Hibernate 把所有新插入的 客户(Customer)实例在 session级别的缓存区进行了缓存的缘故。 我们会在本章告诉你如何避免此类问题。首先,如果你要执行批量处理并且想要达到一个理想的性能, 那么使用JDBC的批量(batching)功能是至关重要。将JDBC的批量抓取数量(batch size)参数设置到一个合适值 (比如,10-50之间): hibernate.jdbc.batch_size 20 注意,假若你使用了identiy标识符生成器,Hibernate在JDBC级别透明的关闭插入语句的批量执行。 你也可能
您可能关注的文档
- java导出数据.doc
- JTidy的使用和配置.doc
- Java数据导入导出Excel.doc
- TXT文档转化为swf格式出现乱码解决方法.doc
- Struts1和Struts2的文件上传.doc
- Java练习题03.doc
- 利用java实现一个简单的远程监控程序.doc
- 在Java中处理Excel文件.doc
- 使用Java实现对dbf文件的简单读写.doc
- 生成二维码代码.docx
- 2026年陕西省国际信托股份有限公司(陕国投)招聘(7人)笔试参考题库及答案解析.docx
- 新项目可行性分析报告回复函5篇.docx
- 2026天津医科大学总医院第二批人事代理制、派遣制人员招聘7人笔试备考题库及详细答案解析.docx
- 2026重庆沙坪坝区人力资源和社会保障局公益岗招聘1人考试备考试题及答案解析.docx
- 个人工程合作协议范本.docx
- 2026年阜阳市颍泉区公开选调区内在编在岗教师160人考试备考试题及答案解析.docx
- 2026年福建省漳浦县公开招聘国企编制中学教师40人笔试参考题库及答案解析.docx
- 2026年新海航乌鲁木齐航空招聘(1人)笔试备考题库及详细答案解析.docx
- 2026云南技师学院银龄技师招聘15人笔试备考试题及详细答案解析.docx
- 企业数字化转型全流程解决方案.docx
原创力文档

文档评论(0)