关于hibernate批量操作的问题

daichangfu 2012-11-18 04:03:14
hibernate.jdbc.batch_size = 20
如果我设置这个属性为20

if ( i % 20 == 0 ) { //单次批量操作的数目为20
session.flush(); //清理缓存,执行批量插入20条记录的SQL insert语句
session.clear(); //清空缓存中的Customer对象
}

单次批量操作的数据必须为20条吗?
可以多于20条吗? 如25条
可以少于20条吗? 如15条?

...全文
205 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看起来怎么那么复杂..
daichangfu 2013-03-18
  • 打赏
  • 举报
回复
我R,倒是来个收分的啊,我这都没法结贴!
a312983516 2013-03-18
  • 打赏
  • 举报
回复
引用 2 楼 xiaoliouc 的回复:
hibernate.jdbc.batch_size = 20是指hibernate单次提交记录最大值为20 啊,举个简单例子,如果你需要提交的记录为100条,那么hibernate会分5次提交。而25条的时候,hibernate提交2次。15条的话,hibernate一次提交就ok。这个是hibernate自动处理的,与你批量处理多少数据没关系
恩对,他是自己处理的,不需要你去做这个业务操作。详情可以去看看文档介绍。
子晓聊技术 2013-03-18
  • 打赏
  • 举报
回复
hibernate.jdbc.batch_size = 20是指hibernate单次提交记录最大值为20 啊,举个简单例子,如果你需要提交的记录为100条,那么hibernate会分5次提交。而25条的时候,hibernate提交2次。15条的话,hibernate一次提交就ok。这个是hibernate自动处理的,与你批量处理多少数据没关系

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧