Hibernate有很多值得学习的地方,这里我们主要介绍配置Hibernate二级缓存,包括介绍在Spring托管的Hibernate二级缓存等方面。
十年专注成都网站制作,成都企业网站定制,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都企业网站定制,高端网页制作,对成都混凝土搅拌站等多个领域,拥有多年的营销推广经验。
使用EhCache配置Hibernate二级缓存:
配置Hibernatee二级缓存准备:
1)把ehcache-1.2.3.jar加入到当前应用的classpath中。
2)在hibernate.cfg.xml文件中加入EhCache缓存插件的提供类。
name="hibernate.cache.provider_class"> - org.hibernate.cache.EhCacheProvider
3)挎贝ehcache.xml文件到类路径(项目工程的src目录下),这个文件在Hibernate安装目录的etc下。
- version="1.0" encoding="utf-8"?>
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name="org.qiujy.domain.cachedemo.Category" table="categories"> - //配置缓存,必须紧跟在class元素后面对缓存中的Category对象采用读写型的并发访问策略
usage="read-write"/> name="id" type="java.lang.Long"> name="id" /> class="native" /> name="version" column="version" type="java.lang.Long" /> name="name" type="java.lang.String"> name="name" length="32" not-null="true"/> name="description" type="java.lang.String"> name="description" length="255"/> name="products" table="products" cascade="all" inverse="true"> usage="read-write"/> column="categoryId" not-null="true"/> class="org.qiujy.domain.cachedemo.Product"/>
Product.hbm.xml
- version="1.0" encoding="utf-8"?>
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name="org.qiujy.domain.cachedemo.Product" table="products"> usage="read-write"/> name="id" type="java.lang.Long"> name="id" /> class="native" /> name="version" column="version" type="java.lang.Long" /> name="name" type="java.lang.String"> name="name" length="32" not-null="true"/> name="description" type="java.lang.String"> name="description" length="255"/> name="unitCost" type="java.lang.Double"> name="unitCost" /> name="pubTime" type="java.util.Date"> name="pubTime" not-null="true" /> name="category" - column="categoryId"
- class="org.qiujy.domain.cachedemo.Category"
- cascade="save-update"
- not-null="true">
编辑ehcache.xml文件:
path="c:\\ehcache\"/> - maxElementsInMemory="10000"
- eternal="false"
- timeToIdleSeconds="120"
- timeToLiveSeconds="120"
- overflowToDisk="true"
- />
name="org.qiujy.domain.cachedemo.Category" - maxElementsInMemory="100"
- eternal="true"
- timeToIdleSeconds="0"
- timeToLiveSeconds="0"
- overflowToDisk="false"
- />
name="org.qiujy.domain.cachedemo.Category.products" - maxElementsInMemory="500"
- eternal="false"
- timeToIdleSeconds="300"
- timeToLiveSeconds="600"
- overflowToDisk="true"
- />
name="org.qiujy.domain.cachedemo.Product" - maxElementsInMemory="500"
- eternal="false"
- timeToIdleSeconds="300"
- timeToLiveSeconds="600"
- overflowToDisk="true"
- />
在Spring托管的Hibernate二级缓存
1.在spring的配置文件中,hibernate部分加入 xml 代码 org.hibernate.cache.EhCacheProvider true
2.为HBM表设置cache策略 xml 代码
3.在DAO中,调用find方法查询之前,设置使用缓存 Java代码 getHibernateTemplate().setCacheQueries(true);
补充: 如果不设置“查询缓存”,那么Hibernate只会缓存使用load()方法获得的单个持久化对象,如果想缓存使用findall()、list()、Iterator()、createCriteria()、createQuery()等方法获得的数据结果集的话,就需要设置 hibernate.cache.use_query_cache true 才行。
【编辑推荐】
新闻名称:配置Hibernate二级缓存剖析
文章来源:http://www.gawzjz.com/qtweb/news29/195779.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联