JPA @Cache缓存

JPA @Cache缓存

ID:40748553

大小:23.92 KB

页数:18页

时间:2019-08-07

JPA @Cache缓存_第1页
JPA @Cache缓存_第2页
JPA @Cache缓存_第3页
JPA @Cache缓存_第4页
JPA @Cache缓存_第5页
资源描述:

《JPA @Cache缓存》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、先了解一下cache基础:一级缓存Hibernate的一级缓存是由Session提供的,因此它只存在于Session的生命周期中,当程序调用save(),update(),saveorupdate()等方法及调用查询接口list,filter,iterate时,如session缓存中还不存在相应的对象,Hibernate会把该对象加入到一级缓存中, 当Session关闭的时候该Session所管理的一级缓存也会立即被清除 Hibernate的一级缓存是Session所内置的,不能被卸载,也不能进行任何配置   二级缓存配置:

2、        1、首先要打开二级缓存,在hibernate.cfg.xml中添加如下配置:     true      2、Hibernate的二级缓存使用第三方的缓存工具来实现,所以我们需要指定Hibernate使用哪个       缓存工具。如下配置指定Hibernate使用EhCache缓存工具。     

3、lass">org.hibernate.cache.EhCacheProvider      3、Hibernate在默认情况下并不会对所有实体对象进行缓存,所以,我们需要指定缓存哪些对象,     在实体对象的映射文件中(相应的标签内部),添加如下配置:           usage="read-only"是“只读”缓存策略。        注意,这个标签只能放在标签的内部,而且必须处在标签的前面!!

4、!     这个标签放在哪些标签下面,就说明会多这些类的对象进行缓存        4、对于第3步,有一个可选的方案是在hibernate.cfg.xml文件中指定哪些类的对象需要缓存,       而不需要使用标签来指定。如:       在hibernate.cfg.xml中添加如下配置:                  注意,这个

5、ache>标签必须放在标签的后面!!       Hibernate缓存配置 _____________________________________________________________________________________ Hibernate的缓存分为:   一级缓存:在Session级别的,在Session关闭的时候,一级缓存就失效了。   二级缓存:在SessionFactory级别的,它可以使用不同的缓存实现,如EhCache、JBossCache、OsCache等。    

6、缓存的注释写法如下,加在Entity的Java类上:   @Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)    缓存的方式有四种,分别为:   CacheConcurrencyStrategy.NONE   CacheConcurrencyStrategy.READ_ONLY,只读模式,在此模式下,如果对数据进行更新操作,会有异常;   CacheConcurrencyStrategy.READ_WRITE,读写模式在更新缓存的时候会把缓存里面的数据换成

7、一个锁,其它事务如果去取相应的缓存数据,发现被锁了,直接就去数据库查询;   CacheConcurrencyStrategy.NONSTRICT_READ_WRITE,不严格的读写模式则不会的缓存数据加锁;   CacheConcurrencyStrategy.TRANSACTIONAL,事务模式指缓存支持事务,当事务回滚时,缓存也能回滚,只支持JTA环境。    另外还有如下注意事项:   1、查询缓存需要在Query的相应方法执行前加上这么一句:   query.setCacheable(true);   在使用Hib

8、ernate时,获得的query有setCacheable方法,可以设置使用缓存,但当使用JPA时,javax.persistence.Query并没有setCacheable方法,此时如果JPA的实现是Hibernate时,可以将其进行如下转化,再调用setCacheable方法(如果J

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。