﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-wkkyo-随笔分类-Hibernate</title><link>http://www.blogjava.net/wkkyo/category/46017.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 22 Aug 2010 15:25:09 GMT</lastBuildDate><pubDate>Sun, 22 Aug 2010 15:25:09 GMT</pubDate><ttl>60</ttl><item><title>Hibernate缓存学习笔记</title><link>http://www.blogjava.net/wkkyo/archive/2010/08/22/329601.html</link><dc:creator>飞影の影</dc:creator><author>飞影の影</author><pubDate>Sun, 22 Aug 2010 15:22:00 GMT</pubDate><guid>http://www.blogjava.net/wkkyo/archive/2010/08/22/329601.html</guid><wfw:comment>http://www.blogjava.net/wkkyo/comments/329601.html</wfw:comment><comments>http://www.blogjava.net/wkkyo/archive/2010/08/22/329601.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wkkyo/comments/commentRss/329601.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wkkyo/services/trackbacks/329601.html</trackback:ping><description><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">Hibernate在进行数据读取时会先在缓存里找,缓存中不存在时再去数据库查询,合理使用hibernate缓存能够有效的利用内存,减少物理数据库调用的次数.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">ORM缓存策略</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">1.事务级缓存(session level cache)</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">session生命周期的缓存,关闭session即消亡</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">2.应用级/进程级缓存(sessionFactory level cache)</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">某个应用中的共享缓存,多个事务可以共享,在sessionFactory层实现,所有sessionFactory创建的session可以共享.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">3.分布式缓存</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">多个JVM共享的缓存,通过远程机制实现缓存数据同步,任意实例修改数据,所有的JVM都要更新缓存.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">Hibernate数据缓存</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="color: #0000ff; ">1.内部缓存(session level)一级缓存</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">是事务级的缓存,session中维护的一个Map,Map的key是包含了数据类型和id,从数据库加载的数据都会进入Map缓存中,通过session加载数据时会先在session缓存里找,一级缓存是session的private数据,session实例消亡就清除了,在应用中就保持在一次请求的开始和结束之间.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">一般由Hibernate自动维护,也支持手动维护</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">session.evit(Object obj) 将持久化对象从一级缓存中清除.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">session.clear() &nbsp;清空一级缓存</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">session.contains(Object obj) 判断指定的对象是否存在于一级缓存中.&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">session.flush() 刷新一级缓存区的内容,使缓存与数据库数据保持同步.&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="color: #0000ff; ">2.二级缓存(sessionFactory level)</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">包含了应用级和分布式的缓存,由本sessionFactory的所有session实例共享,session操作时会先查一级缓存,然后查二级缓存,最后再查物理数据库.要使用二级缓存必须要进行配置.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">适合用缓存的数据</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">1.不会被其他应用修改</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="color: #ff0000; ">包括直接用JDBC修改等,因为其他应用修改了数据之后hibernate并不知道,不能自动更新缓存,不过可以手动更新缓存</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">2.数据大小可以接受,毕竟内存资源也不多</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">3.数据更新频率低(比如数据字典等常量数据)</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">4.可能被系统频繁使用</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">5.非关键的数据</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">6.不会被并发访问的数据</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">常用的二级缓存插件</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">EHCache &nbsp;org.hibernate.cache.EhCacheProvider&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">OSCache &nbsp;org.hibernate.cache.OSCacheProvider&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">SwarmCahe &nbsp;org.hibernate.cache.SwarmCacheProvider 提供了分布式</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">JBossCache &nbsp;org.hibernate.cache.TreeCacheProvider 提供了分布式</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="color: #0000ff; ">EHCache二级缓存配置方法</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">1.启用二级缓存首先要在hibernate.cfg.xml配置</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&lt;hibernate-configuration&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &lt;session-factory&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp;&lt;!-- 配置二级缓存插件EHCache的Provider类--&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp;&lt;property name="hibernate.cache.provider_class"&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; org.hibernate.cache.EhCacheProvider &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp;&lt;/property&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp;&lt;!-- 启动"查询缓存" --&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp;&lt;property name="hibernate.cache.use_query_cache"&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; true &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp;&lt;/property&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &lt;/session-factory&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&lt;/hibernate-configuration&gt;&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">2.然后配置cache的配置文件ehcache.xml</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&lt;ehcache&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp;&lt;!-- maxElementsInMemory为缓存对象的最大数目,</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="white-space: pre; ">	</span>eternal设置是否永远不过期,</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="white-space: pre; ">	</span>timeToIdleSeconds对象处于空闲状态的最多秒数,</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="white-space: pre; ">	</span>timeToLiveSeconds对象处于缓存状态的最多秒数,</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="white-space: pre; ">	</span>overflowtodisk内存不足时是否启用磁盘缓存 --&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp;&lt;diskStore path="java.io.tmpdir"/&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp;&lt;defaultCache maxElementsInMemory="10000" eternal="false" &nbsp;timeToIdleSeconds="300" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;timeToLiveSeconds="600"&nbsp;overflowToDisk="true"/&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&lt;/ehcache&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">3.最后要在映射文件***.hbm.xml中指定实体的缓存同步策略</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&lt;?xml version="1.0" encoding='UTF-8'?&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" &gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&lt;hibernate-mapping&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &lt;class&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp; &lt;!-- 设置该持久化类的二级缓存并发访问策略--&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &nbsp; &nbsp; &lt;cache usage="read-write"/&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="white-space: pre; ">	</span>&lt;set name = "xxx"&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "><span style="white-space: pre; ">		</span>&lt;cache usage="read-only" /&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp;&nbsp;<span style="white-space: pre; ">	</span>&lt;/set&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;&nbsp; &lt;/class&gt;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&lt;/hibernate-mapping&gt; &nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">&nbsp;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">hibernate提供的缓存同步策略,可以在usage中设置</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">read-only</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">只读</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">nonstrict-read-write</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">更新频率不高</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">read-write</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">严格可读写</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">transactional(Ecache不支持)</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; ">事务型缓存</p>
<img src ="http://www.blogjava.net/wkkyo/aggbug/329601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wkkyo/" target="_blank">飞影の影</a> 2010-08-22 23:22 <a href="http://www.blogjava.net/wkkyo/archive/2010/08/22/329601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>