下载此文档

hibernate的二级缓存及查询缓存[精华].doc


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
hibernate的二级缓存及查询缓存[精华]Hibernate的二级缓存Hibernate的Session在事务级别进行持久化数据的缓存操作。当然,也有可能分别为每个类(或集合),配置集群、或JVM级别(SessionFactory级别)的缓存。你甚至可以为之插入一个集群的缓存。注意,缓存永远不知道其他应用程序对持久化仓库(数据库)可能进行的修改(即使可以将缓存数据设定为定期失效)。..,你可以选择让Hibernate使用哪个缓存实现。Hibernate打包一些开源缓存实现,提供对它们的内置支持(见下表)。除此之外,你也可以实现你自己的实现,将它们插入到系统中。注意,,默认使用EhCache作为缓存实现,。表:缓存策略提供商(CacheProviders)QueryCacheCacheProviderclassTypeClusterSafeSupportedHashtable(.).,.,.(ipyes()invalidation).(ipyes(),yes(replication)req.)(Cachemappings)类或者集合映射的“<cache>元素”可以有下列形式:<cacheusage="transactional|read-write|nonstrict-read-write|read-only"region="RegionName"include="all|non-lazy"/>usage(必须)说明了缓存的策略:transactional、read-write、nonstrict-read-write或read-only。region(可选,默认为类或者集合的名字(classorcollectionrolename))指定第二级缓存的区域名(nameofthesecondlevelcacheregion)include(可选,默认为all)non-lazy当属性级延迟抓取打开时,标记为lazy="true"的实体的属性可能无法被缓存另外(首选?),<class-cache>和<collection-cache>元素。这里的usage属性指明了cacheconcurrencystrategy。缓存并发策略():只读缓存(Strategy:readonly)如果你的应用程序只需读取一个持久化类的实例,而无需对其修改,那么就可以对其进行只读缓存。这是最简单,也是实用性最好的方法。甚至在集群中,它也能完美地运作。<classname=""mutable="false"><cacheusage="read-only"/>....</class>:读/写缓存(Strategy:read/write)如果应用程序需要更新数据,那么使用读/写缓存比较合适。如果应用程序要求“序列化事务”的隔离级别(serializabletransactionisolationlevel),那么就决不能使用这种缓存策略。如果在JTA环境中使用缓存,,通过它,Hibernate才能知道该应用程序中JTA的TransactionManager的具体策略。在其它环境中,()、()调用前,整个事务已经结束。如果你想在集群环境中使用此策略,你必须保证底层的缓存实现支持锁定(locking)。Hibernate内置的缓存策略并不支持锁定功能。<classname=""....><cacheusage="read-write"/>....<setname="kittens"...><cacheusage="read-write

hibernate的二级缓存及查询缓存[精华] 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小54 KB
  • 时间2019-09-26