TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
applicationContext.xml:
( b8 k, y4 V* v1 c. @! _6 X- <prop key="hibernate.cache.use_second_level_cache">true</prop> <!--设置缓存机制为二级缓存 -->
9 R2 H; b& q+ r4 G# G8 @) D+ ^ - <prop key="hibernate.cache.use_query_cache">true</prop> <!--启动查询缓存 -->
( a0 _4 n0 u9 Q y6 K - <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <!--设置二级缓存的Provider类 --># I2 w! h7 ~- q- R- L7 _1 [ g5 Q
- <prop key="hibernate.cache.provider_configuration_file_resource_path">WEB-INF/classes/ehcache.xml</prop> <!--设置缓存的配置文件路径 -->
复制代码 * z4 t- a( k3 \( h
将ehcache.xml文件放到src下面,并配置ehcache.xml文件如下:
' q3 C' c0 \) ^( c/ L# Z7 L# W; I- <ehcache>
0 d6 y$ i3 }6 F4 I) r& Z: ^ - <diskStore path="D:\cache" />) o+ k) L! ]$ W! S
- 8 R& Q/ @/ o- R9 M
- <defaultCache maxElementsInMemory="10000" eternal="false"8 T7 ?5 M4 j% }4 Y0 t9 }; t
- timeToIdleSeconds="3600" timeToLiveSeconds="3600"
& L9 [$ ?) r9 J - overflowToDisk="true" diskPersistent="false"
" s: a2 A% w9 _" p- I! P+ F - diskExpiryThreadIntervalSeconds="120"( d2 E4 A$ ~0 }9 H
- memoryStoreEvictionPolicy="LRU" />
, P# k9 `# Q+ g0 j - <cache name="net.52itstyle.entity.DataAttr"
- c; h1 e5 \$ ]+ } - maxElementsInMemory="800" eternal="false" overflowToDisk="false"
8 y2 \8 Q! W4 P - timeToIdleSeconds="3600" timeToLiveSeconds="3600" /> 3 z$ Q- T' }6 J* e, h' c
- </ehcache>
复制代码 在设置了缓存机制的类的xml文件中添加一段代码<cache usage="read-write" region="net.52itstyle.entity.SmProduct/>"代码如下:
7 ^/ V- o3 A; f( m4 X- <hibernate-mapping>
6 C8 Z% w% C9 u+ P+ L% P6 A - <!--SM_PRODUCT表的hibernate映射描述文件 -->
+ c4 O$ ~# Z$ q9 P4 A3 G7 f3 V$ c g2 U - <class name="net.nk.entity.SmProduct" table="SM_PRODUCT" >
- M7 R- M4 C( _& L4 i9 A+ {* V+ ` - <cache usage="read-write" region="net.nk.entity.SmProduct"/>5 t% ^) D) N4 `5 [
- <!-- ID -->3 {5 N- `5 a. `) i7 G3 f6 R
- <id name="id" type="string">
9 y4 _8 \. N! V2 V8 d. G - <column name="ID" />- H' x. v& u% B1 @( C! @
- <generator class="assigned" />
! T2 E% V2 p" D: P# J# B - </id>
复制代码
+ N: ^8 L- f7 c, Q最后可以 通过放开hibernate的show_sql来查看是否缓存机制生效了5 A5 e2 s1 e- J0 I! G+ G" R
# {0 F; [# m; T/ R( y( a$ l% Y
" ^8 o; q; r0 `7 D* ^/ U
|
|