【独家编译】在前文中我们把JPA 2.0缓存原理进行了简单的介绍,本文将为大家介绍一下Hibernate缓存原理。(编辑特别推荐专题:Hibernate应用开发教程)
在江口等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站设计、成都外贸网站建设 网站设计制作按需策划,公司网站建设,企业网站建设,品牌网站制作,营销型网站建设,外贸营销网站建设,江口网站建设费用合理。
Hibernate缓存原理
Hibernate也设有两个级别的缓存:第一级和第二级缓存。第一级缓存是存储在一个特定时域实例里的查询结果,而第二级缓存则是与SessionFactory实例相关联。
Hibernate的默认使用的第一级缓存来存储每一此运算的对象。 Hibernate的二级缓存是由SessionFactory支持,根据访问对象的应用水平来调用访问数据库需要的对象次数,从而减少了访问次数。Hibernate的缓存不是通过储存存储对象本身的实例来实现的。
Hibernate 3.0支持以下四个开源项目的第二级缓存实现:
◆EHCache (org.hibernate.cache.EhCacheProvider) -- Default
◆OSCache (org.hibernate.cache.OSCacheProvider)
◆SwarmCache (org.hibernate.cache.SwarmCacheProvider)
◆JBoss TreeCache (org.hibernate.cache.TreeCacheProvider)
第二级缓存可以启用分别设置属性hibernate.cache.use_second_level_cache为正确或错误。这里是一个设置实例:
- true
你可以选择在hibernate.cfg.xml文件里的hibernate.cache.provider_class属性应用进行设置,这里是另一个设置实例:
- org.hibernate.cache.EhCacheProvider
您也可以在类级层或集合层通过设置在映射文件作为
这里有一个在上面的代码中的组成部分:
◆指定缓存策略的使用情况。
◆指定二级缓存区域。
◆包括是一个可选属性(一般情况下为默认设置),如果数据不常使用可以取消缓存。
您还可以通过设置hibernate.cfg.xml文件中的
您可以执行的缓存是同一组的参数经常使用的查询缓存。查询缓存设置为false默认情况下,您可以启用hibernate.cfg.xml文件中加入下面的属性:
true
此查询添加StandardQueryCache和UpdateTimestampsCache,分别为查询缓存的结果和最新更新的时间表。查询结果可以通过调用缓存特定的setCacheable查询。
Hibernate 3.5缓存
Hibernate 3.5缓存策略与Hibernate的缓存策略是相同的,同时添加了在Hibernate 3.2和Hashtable没有的某些如JBoss Cache 2、JBoss Cache的1.x中缓存策略。
Hibernate 3.5另一个重大进步是Infinispan作为另一个二级缓存标准加入。Infinispan是一个开源、可扩展的数据网格平台,公开了JCache(支持JSR-107)兼容的缓存接口。 Infinispan提供了更高程度的并发性,因为Infinispan使用一个专门的数据结构,而不是仅仅捆绑到Java,同时它也支持PHP,Python和Ruby等。
结论
在本文中,我们比较的JPA 2.0缓存在Hibernate的缓存。通过引入新的缓存功能,促进标准化,JPA的2.0做了很多工作使得开发更容易。不过,因为所有的功能都有了很长时间的支持,Hibernate是在许多方面遥遥领先。
新闻标题:JPA2.0VsHibernate:缓存方法的差异(二)
转载来于:http://www.shufengxianlan.com/qtweb/news5/223155.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联