TA的每日心情 | 衰 2021-2-2 11:21 |
|---|
签到天数: 36 天 [LV.5]常住居民I
|
applicationContext.xml:
: n9 l7 n8 F9 B+ F6 D- <prop key="hibernate.cache.use_second_level_cache">true</prop> <!--设置缓存机制为二级缓存 -->
* S/ G" {! D& H8 Y( d7 x/ }$ Q - <prop key="hibernate.cache.use_query_cache">true</prop> <!--启动查询缓存 -->
! D9 N% n* o" _- t1 |) r - <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <!--设置二级缓存的Provider类 -->' W( v# Q" Q) T0 O& C/ G# T* {
- <prop key="hibernate.cache.provider_configuration_file_resource_path">WEB-INF/classes/ehcache.xml</prop> <!--设置缓存的配置文件路径 -->
复制代码
* [; \9 [8 o" o0 { f- z将ehcache.xml文件放到src下面,并配置ehcache.xml文件如下:! W; Z6 T: B& z, f3 ]; D3 v
- <ehcache>
7 N. F& O2 x8 O4 b6 e9 P - <diskStore path="D:\cache" />
( g1 z; z3 K+ L7 t7 a% r1 v
! G8 L( }3 Z! Z1 {) j. W2 |" c- <defaultCache maxElementsInMemory="10000" eternal="false"1 k1 s2 L6 q6 Y7 q2 D+ T: P
- timeToIdleSeconds="3600" timeToLiveSeconds="3600"! g9 ^7 ~$ M; H- |8 Q9 f
- overflowToDisk="true" diskPersistent="false"0 \9 `! G8 h7 x/ V, |
- diskExpiryThreadIntervalSeconds="120"; u( B& j+ c/ ~. M0 l2 c4 a
- memoryStoreEvictionPolicy="LRU" />: Y6 m$ [* B! g" `( g7 A0 _
- <cache name="net.52itstyle.entity.DataAttr"
/ _( W# U! T6 p. }: s4 |9 n - maxElementsInMemory="800" eternal="false" overflowToDisk="false" 8 @6 }- Y7 L# x6 y
- timeToIdleSeconds="3600" timeToLiveSeconds="3600" /> 8 a% W/ `+ j! {, }! |: B1 m# g! }
- </ehcache>
复制代码 在设置了缓存机制的类的xml文件中添加一段代码<cache usage="read-write" region="net.52itstyle.entity.SmProduct/>"代码如下:: R- B0 c% H; ]5 R0 Y0 i1 ^
- <hibernate-mapping>
8 K9 `! n. M" q - <!--SM_PRODUCT表的hibernate映射描述文件 -->% i) T M$ j! Y8 L0 P* ?
- <class name="net.nk.entity.SmProduct" table="SM_PRODUCT" >- ~& ?+ ~* i, B; A/ a( W% k$ [
- <cache usage="read-write" region="net.nk.entity.SmProduct"/> j; H/ w" _, A5 I) F
- <!-- ID -->
5 o! V: o/ b4 S" T. X! j4 `- } - <id name="id" type="string">
y$ d& N; S# E: A3 c - <column name="ID" />
# p! `. x5 P$ x! V$ t - <generator class="assigned" />
- p) C4 J6 R: W! [5 k1 D& n, d$ x- ] - </id>
复制代码
D; N! ~0 F6 P: ?. r最后可以 通过放开hibernate的show_sql来查看是否缓存机制生效了, m9 C5 y! c$ A: s1 S
5 x2 H( b' I! x' p3 B3 r, F/ W
$ S5 i+ M$ B' [3 {3 |' `% `6 C( K) q
|
|