flush 时将一级缓存与数据库同步.
大批处理:
大量操作数据时,可能会造成内存溢出,解决方法:
1,清除Session中的数据,
业务逻辑为:我们要想数据库插入10 0000 条数据
for(int i=0;i<100000;i++){
session.save(obj);
// 以每50个数据作为一个处理单元,也就是我上面说的“一定的量”,这个量是要酌情考虑的
if(i%50==0){
session.flush;
session.clear();
}
}
2,用StatelessSession接口,它不与一级缓存和二级缓存交互,也不触发任何事件,
监听器,拦截器,通过该接口的操作会立刻发送给数据库,与JDBC功能一样,
StatelessSession s = sessionFactory.openStatelessSession();
该接口的方法与Session类相似.
3.Query.executeUpdate()执行批量更新,会清除相关联的类二级缓存
(sessionFactory.evict(class)),也可能会造成级联,和乐观锁出现问题
如果大家有更好的方法,欢迎提出!
分享到:
相关推荐
hibernate3.2 hibernate3.2 hibernate3.2 hibernate3.2
这是一个struts 1.2 + spring 2.5 + hibernate 3.2框架demo, 运行环境为eclipse 3.2 + tomcat 5.5 + oracle 11g
Hibernate3.2 数据持久层框架必不可少的jar包,直接放在lib目录里即可使用。
Hibernate高官谈Hibernate3.2新特性
hibernate3.2的chm格式api手册。
scr压缩包中含Hibernate3.2整套源码,对于Hibernate的学习者来说不可多得哦~
hibernate3.2 源码 hibernate 源码 hibernate3.2
Hibernate3.2官方中文参考手册.pdf+Hibernate.pdf(Hibernate的学习资料)
hibernate 3.2 hibernate 3.2 hibernate 3.2 hibernate 3.2 hibernate 3.2
Hibernate 3.2 中文参考手册 博文链接:https://luxiangdong.iteye.com/blog/214583
hibernate3.2 需要的hibernate3.2以及所有文件,非常全面,该有的都有。
整合struts2.1和hibernate3.2的JAR包
hibernate 3.2用到的jar包
可持久化层hibernate3.2 帮助文档
Struts2+hibernate3.2+Spring2.0架构搭建的菜鸟实例,按照每一步搭建自己的软件架构
struts2+spring2.5+hibernate3.2整合完整项目,带数据库脚本 ,mysql,tomcat,myeclipse完整工程
struts2+spring2.5+hibernate3.2 找了半天没看到。自己整了一个。
Hibernate3.2中文参考文档Hibernate3.2中文参考文档Hibernate3.2中文参考文档Hibernate3.2中文参考文档Hibernate3.2中文参考文档Hibernate3.2中文参考文档