沉睡森林@漂在北京
本处文章除注明“转载”外均为原创,转载请注明出处。
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
152 随笔 :: 4 文章 :: 114 评论 :: 0 Trackbacks
<
2010年3月
>
日
一
二
三
四
五
六
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
随笔分类
(115)
DataBase(15)
(rss)
Digester(4)
(rss)
Eclipse(1)
(rss)
Ext(29)
(rss)
jQuery(7)
(rss)
Other(28)
(rss)
Spring(19)
(rss)
Ubuntu(6)
(rss)
WebService(2)
(rss)
Workflow(4)
(rss)
随笔档案
(154)
2012年6月 (1)
2012年4月 (5)
2012年3月 (3)
2010年7月 (1)
2010年6月 (6)
2010年5月 (4)
2010年4月 (2)
2010年3月 (13)
2010年2月 (3)
2010年1月 (16)
2009年12月 (1)
2009年11月 (3)
2009年10月 (3)
2009年9月 (2)
2009年8月 (3)
2009年7月 (4)
2009年6月 (10)
2009年5月 (15)
2009年4月 (3)
2009年3月 (12)
2009年2月 (6)
2008年12月 (6)
2008年11月 (11)
2008年10月 (21)
技术blog
B/S开发
Cat in dotNET
java&maven2
JAVA之道
OOPAA
Ruby's Louvre
xmatthew
万事大吉的IT学习笔记
从嘉陵到钱塘
开发者的最佳实践
成吉的个人网站
薛敬明的专栏
ext方面很多实用的文章
搜索
最新评论
1. re: 利用axis2的wsdl2java生成webservice的客户端代码[未登录]
1
--1
2. re: SpringMVC下的权限控制
45
--sad
3. re: SpringMVC下的权限控制
发的更好地发挥到发货
--才不会
4. re: 关于oracle中varchar2的最大长度
你太给力了!果断顶起!!
--荒漠依米
5. re: 关于oracle中varchar2的最大长度
afa
--sdf
Hibernate Annotation 中配置EhCache缓存
1. 首先设置EhCache,建立配置文件ehcache.xml,默认的位置在class-path,可以放到你的src目录下:
xml version="1.0" encoding="UTF-8"?>
<
ehcache
>
<
diskStore
path
="java.io.tmpdir"
/>
<
defaultCache
maxElementsInMemory
="10000"
eternal
="false"
overflowToDisk
="true"
timeToIdleSeconds
="300"
timeToLiveSeconds
="180"
diskPersistent
="false"
diskExpiryThreadIntervalSeconds
= "120"
/>
ehcache>
2. 在Hibernate配置文件中设置:
<
hibernate-configuration
>
<
session-factory
>
……
<
property
name
="hibernate.cache.provider_class"
>
org.hibernate.cache.EhCacheProvider
</
property
><
property
name
="cache.use_second_level_cache"
>
true
</
property
>
……
</
session-factory
></
hibernate-configuration
>
此外,可以把cache.use_second_level_cache设置为false关闭所有的hibernate二级缓存。但此属性对指定
<
cache
>
的类缺省为true。
3. 为了使用二级缓存,需要在每一个Hibernate Entity上配置。
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Forest {
}
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="CUST_ID")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public SortedSet getTickets() {
return tickets;
}
@Cache(
CacheConcurrencyStrategy usage(); (1)
String region() default ""; (2)
String include() default "all"; (3)
)
(1) usage: 提供缓存对象的事务隔离机制,可选值有以下几种
(NONE, READ_ONLY, NONSTRICT_READ_WRITE, READ_WRITE, TRANSACTIONAL)
(2) region (optional): 指定缓存的区域,默认是类的全限定名。利用缓存区域,可以更精确的指定每个区域的缓存超前策略。如果指定了缓存区域前缀(在hibernate.cfg.xml中设置cache.region_prefix属性为一个字符串),则所有的缓存区域名前将加上这个前缀。
(3) include (optional): all to include all properties, non-lazy to only include non lazy properties (default all).
如果不是使用annotation的话,则是在Hbm文件中添加cache usage="read-only"
posted on 2010-03-14 17:46
王总兵
阅读(590)
评论(1)
编辑
收藏
评论
#
re: Hibernate Annotation 中配置EhCache缓存
2011-08-03 23:09
we are people
不能发政治相关的内容------我要投票权!
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
Powered by:
BlogJava
Copyright © 王总兵