社区
Java EE
帖子详情
hibernate二级缓存的问题
chen_2001
2010-08-05 11:17:14
hibernate已经加入二级缓存机制,当操作数据库时,缓存不能同步,大家有什么好办法
在一个多对多的关系中,如用户和组,中间表用户组表,如果在组管理界面中添加一个用户,数据库的确修改了,可在用户管理界面确看不到这个组???
我的理解是:数据库中中间表修改了,可是中间表的缓存并没有修改,所以通过缓存查到的数据并没有修改????
请高手指点一下,怎么办?
...全文
102
5
打赏
收藏
hibernate二级缓存的问题
hibernate已经加入二级缓存机制,当操作数据库时,缓存不能同步,大家有什么好办法 在一个多对多的关系中,如用户和组,中间表用户组表,如果在组管理界面中添加一个用户,数据库的确修改了,可在用户管理界面确看不到这个组??? 我的理解是:数据库中中间表修改了,可是中间表的缓存并没有修改,所以通过缓存查到的数据并没有修改???? 请高手指点一下,怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
king138888
2010-08-06
打赏
举报
回复
同意楼上:放弃hibernate缓存,例如自己操作缓存,其说说白了,缓存就是个Map,自己操作缓存也并非难事.
将一些不常变的数据放入map中是一种很好的做法
dada_fangfang
2010-08-06
打赏
举报
回复
大致明白你的意思,以前我也考虑过类似的问题,有时候hibernate并没有理想的优秀。
方法一:定时重置缓存,每隔一段时间就重新缓存中间表数据,虽然感觉很可笑,但是也是一种方法。
方法二:放弃hibernate缓存,例如自己操作缓存,其说说白了,缓存就是个Map,自己操作缓存也并非难事.
个人见解,仅供参考
fei381895649fei
2010-08-06
打赏
举报
回复
1.首先你要明白,什么样的数据适合存放到第二级缓存中..
1.1) 很少被修改的数据
1.2) 不是很重要的数据,允许出现偶尔并发的数据
1.3) 不会被并发访问的数据
1.4) 参考数据,指的是供应用参考的常量数据,它的实例数目有限,它的实例会被许多其他类的实
2.在你做修改的时候,如果你的二级缓存没有同时更新的话,这样当然是看不到的,而且删除、增加数据的时候也一样要同时更新二级缓存
3.所以说,你这样是依赖二级缓存,产生的错误...你试试同时更新,二级缓存,应该就没有问题!!!
colin_pxx
2010-08-06
打赏
举报
回复
楼主的理解是正确的 像这种经常要修改的东西不应该放入缓存中
closewbq
2010-08-05
打赏
举报
回复
当我们进行了修改操作的时候,这时我们可以对二级缓存进行清理
SessionFactory sf
Map<String, CollectionMetadata> map = sf.getAllCollectionMetadata();
for (String name: map.keySet()) {
sf.evictCollection(name);
}
这样确保下次查询的时候可以从数据库中查询,当没有执行修改操作的时候,二级缓存中的数据依然存在,那么我们依然可以利用缓存读取。
Maven搭建SpringMVC+
Hibernate
项目源码
Maven搭建SpringMVC+
Hibernate
项目源码,包括
Hibernate
二级
缓存
Ehcache的搭建等等,博文地址:http://blog.csdn.net/fengshizty/article/details/43635305
深入浅出
Hibernate
(PDF)第一部分
本书由互联网上影响广泛的开放文档OpenDoc系列自由文献首份文档“
Hibernate
开发指南”发展而来。在编写过程中,进行了重新构思与组织,同时对内容的深度与广度进行了重点强化。本书从持久层入手,引出对象/关系数据库映射的由来,接下来聚焦于目前最完善、最强悍的ORM产品——
Hibernate
。从一个基础程序入手,讲述
Hibernate
的基本语法与配置,慢慢升高到
缓存
、延迟加载等高级特性。本书内容深入浅出,先讲述持久层设计与ORM,再由
Hibernate
概述、
Hibernate
基础
Hibernate
高级特性顺序展开,直至
Hibernate
实战,重点讲述了
Hibernate
的基础语法、基础配置、O/R映射、数据关联、数据检索、HQL实用技术、自定义持久化实现、
Hibernate
回调与拦截、
Hibernate
分页等实用技术,
Hibernate
实战部分则用一个真实论坛的创建演示了
Hibernate
的强大功能。本书有丰富的附录部,在附录中讲述了
Hibernate
常用的映射配置,
Hibernate
工具、XDoclet模板配置以及
Hibernate
的益友iBatis用法,还以卡片的形式列出了本书中所用的工具及软件,附录最后一部分是“快速启动代码”,供读者对比与参考,也给初学者提供了一个快带起步的基础。本书适合于
Hibernate
的各个阶层的读者。 注:因为资源有点大,所以折分上传,需要把深入浅出
hibernate
(PDF)第一部分.深入浅出
hibernate
(PDF)第二部分,深入浅出
hibernate
(PDF)第三部分全部下载,并解压到一个地方才可以正常解压阅读.给大家带来不便望谅解.
hibernate
4从入门到大神(备java基础,mysql,javaee经典框架)
Hibernate
4开发技术:ORM思想,
hibernate
介绍,
hibernate
.cfg.xml配置,hbm.xml映射文件详解,主键生成策略使用,PO对象状态及状态的转换分析、一级
缓存
,
Hibernate
数据检索技术,
Hibernate
映射技术,
Hibernate
多表联合查询,
Hibernate
二级
缓存
技术,
Hibernate
分页技术,
Hibernate
性能优化技术。
Struts2 + Spring3 +
Hibernate
3.5 整合(实际使用项目,version2)
这是一个实际使用中的项目,可访问 http://cdbke.cuit.edu.cn 可查看效果及功能,后台需要登录后才能使用(出于安全性考虑这里就不给大家介绍了,另外还有一个struts1版本的,如有需要可以与我联系)。 此项目整合了目前主流和最前源的web开发技术:采用ehcache实现二级
缓存
(包含查询
缓存
);用sf4j及logback(log4j的升级版)记录日志;proxool(据说是dbcp和c3p0三者中最优秀的)做连接池;使用jquery的ajax实现仿google人名自动补全;头像上传剪切压缩处理。 包含有完整的jar包和源代码,可以直接下载编译部署和运行,这是专门为我们实验室定制开发的。虽然后台逻辑并不复杂,但已经包含了架构基于s2sh技术型系统的全部基础部分:如分页,
缓存
,文件上传,连接池等。很适合学习使用,希望对初学JavaEE WEB开的人有所帮助。 这个资源在去年发布了第一版,已经有很多朋友下了觉得对他们有帮助,所以我才再发了一个第二版,希望对有需要的朋友有所帮助。本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3
hibernate
3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范检查,代码审查等功能(与此相关的jar包由于上传文件大小限制未导入) 本系统一直在使用中,所以还会不段更新,之后我打算再做一个基于javaee6的实现,给需要想学习ejb3.1等技术的朋友一个参考实现 集成测试相关jar包和更新构建脚本下载:http://download.csdn.net/source/2427972
Hibernate
二级
缓存
问题
相关概念和定义 1、
缓存
的意义 把一些不常修改,但是又经常用的数据存放到内存中,这样能减少与数据库的交互,提升程序的性能 2、
Hibernate
中提供了两级
缓存
: 第一级别的
缓存
是Session级别的
缓存
(比如说在调用get方法的时候,如果已经查询过一次了,第二次就不会查了,而是直接返回session
缓存
中已经存在的那个对象给你,不过这个只对当前Session有效,一旦又开一个新的Sess...
Java EE
67,513
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章