hibernate-关于Hibernate的二级缓存配置

问题描述

关于Hibernate的二级缓存配置

配置二级缓存时在实体xx.hbm.xml中配置的

 <cache usage="read-only" include="non-lazy" region="personCache"/>

关于这个include属性,我看官方文档上说all是对所有属性就行缓存,non-lazy是对不是lazy加载的属性缓存,问题是我怎么判断它到底有没有对lazy="true"的属性缓存呢?

解决方案

Hibernate的二级缓存

Hibernate的Session在事务级别进行持久化数据的缓存操作。 当然,也有可能分别为每个类(或集合),配置集群、或JVM级别(SessionFactory级别)的缓存。 你甚至可以为之插入一个集群的缓存。注意,缓存永远不知道其他应用程序对持久化仓库(数据库)可能进行的修改 (即使可以将缓存数据设定为定期失效)。
通过在hibernate.c......
答案就在这里:Hibernate二级缓存配置
----------------------

时间: 2024-11-01 22:19:48

hibernate-关于Hibernate的二级缓存配置的相关文章

hibernate使用memcached作为二级缓存,怎么构建memcached集群

问题描述 hibernate使用memcached作为二级缓存,怎么构建memcached集群 我使用memcached作为hibernate的二级缓存实现,在memcached单节点的情况下,程序运行没问题.后来想做一个memcached的集群,就使用了magent来做.但是使用magent之后,hibernate的二级缓存就报超时异常:16:29:13832 DEBUG ReadWriteCache:160 - Cached: com.ct.po.TCtBizstatusType#10011

hibernate Search 继续研究 增加 hibernate memcache 二级缓存 配置成功 附件maven代码(2)

首先安装 memecached 服务端:   之前写过的 文章,centos 安装memcached服务 :   http://toeo.iteye.com/blog/1240607   然后 在 前几天的 弄的  hibernate search 基础上,再添加 memcached 缓存.   因为 hibernate search 虽然 建立了索引.查询速度快了..但是依然要 load 数据.   证据就是 可以看到搜索如果有结果  肯定会执行 hql 将数据一次都查询出来.   Hiber

hibernate一级缓存,二级缓存,三级缓存,缓存算法及配置。

什么是缓存(我的理解):在内存中开辟一块空间,把原来在硬盘上的东西,放到内存当中,当需要用到一些数据时,直接在内存中查找,而不是到硬盘上查找.这块内存中的空间就是缓存.缓存能提高程序的运行效率. 一级缓存(session级的缓存):在一个session中load同一个对象2次,load时,hibernate首先在session缓存中查找对象,如果没找到就到数据库中去load.因此,在同一个session中load一个对象2次,只会发出一条sql语句.而在2个session中load同一个对象则会

【hibernate框架】缓存机制之二级缓存

二级缓存是sessionFactory级别的缓存,可以跨越session存在. hibernate文档里关于二级缓存的说明: 二级缓存(The Second Level Cache) hibernate支持多种多样的二级缓存的实现,但hibernate本身并没有写二级缓存的实现(有一个是用来内部测试的,不要用于产品开发),而是由其他的厂商来提供. 表 21.1. 缓存策略提供商(Cache Providers) org.hibernate.cache.HashtableCacheProvider

SSH框架网上商城项目第16战之Hibernate二级缓存处理首页热门显示_java

网上商城首页都有热门商品,那么这些商品的点击率是很高的,当用户点击某个热门商品后需要进入商品的详细信息页面,就像淘宝里面那样.那么每次点击都要去后台查询一下该商品的详细信息,就会发送相应的sql语句,每次刷新一下详细页面也会发sql语句,这样的话,性能肯定会受到很大的影响.那么使用Hibernate的二级缓存就可以解决这个问题. 有些人可能会想,我们可以使用重定向,这样的话,在用户第一次访问的时候把信息查出来放到session中,以后每次用户刷新就可以去session中拿了,这样就不用去数据库中

Hibernate之一级缓存和二级缓存

1:Hibernate的一级缓存: 1.1:使用一级缓存的目的是为了减少对数据库的访问次数,从而提升hibernate的执行效率:(当执行一次查询操作的时候,执行第二次查询操作,先检查缓存中是否有数据,如果有数据就不查询数据库,直接从缓存中获取数据):  1.2:Hibernate中的一级缓存,也叫做session的缓存,它可以在session范围内减少数据库的访问次数,只在session范围内有效,session关闭,一级缓存失败: 1.3:一级缓存的特点,只在session范围有效,作用时间

hibernate不启用二级缓存的情况下find()还会保存缓存吗

问题描述 如题 hibernate中如果不启用二级缓存 find()方法查询出来的数据还会保存在二级缓存中吗? 解决方案 不会.只会被加入到一级缓存.

orm-在Hibernate中配置了SessionFactory,是不是就已经启动了一级二级缓存功能?

问题描述 在Hibernate中配置了SessionFactory,是不是就已经启动了一级二级缓存功能? 一级缓存在什么时候启用? 二级缓存在什么时候启用? 解决方案 一级缓存默认已经启用 二级缓存默认关闭(要开启二级缓存得自己手动配置然后再启用) 可参见:http://blog.csdn.net/hekewangzi/article/details/45873271 解决方案二: Hibernate一级二级缓存Hibernate的一级和二级缓存hibernate二级缓存配置 解决方案三: 二级

Spring3+hibernate4配置二级缓存的问题

问题描述 Spring3+hibernate4配置二级缓存的问题 com/wjh/po/AfterPostPO.hbm.xmlcom/wjh/po/LogPO.hbm.xmlcom/wjh/po/PostPO.hbm.xmlcom/wjh/po/UserPO.hbm.xml org.hibernate.dialect.MySQLDialecttruefalseupdatetruetrue spring3+hibernate4 配置ehcache二级缓存只要一把上面的二级缓存配置的注释部分去掉,访