標籤:hibernate緩衝
工程匯入commons-logging.jar|ehcache.jar
在hibernate.cfg.xml中設定:添加2個屬性: <!--二級緩衝 --><property name="cache.use_second_level_cache">true</property><property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
在hibernate完整jar包檔案中的/project/etc/ehcache.xml ,把它放到工程src目錄下,進行具體的緩衝設定
在實體類註解或實體對應檔中配置: <class name="org.java02.entity.User" table="USER_SMBMS"><cache usage="read-only"/><!-- 加入緩衝 --><id name="userid" column="USERID" type="java.lang.Integer">。…… <set name="house"><cache usage="read-only"/><!-- 關聯映射加入緩衝 -->
註解:@cache(...)
二級緩衝的並發存取原則:
read-only: 唯讀型,緩衝不更新,適用於不發生改變的
數 據,效率最高,交易隔離等級最低
nonstrict-read-write: 不嚴格讀寫型,緩衝不定期更新,
適用於變化頻率低的資料,對於極少被修改,並 且
允許偶爾髒讀的資料,可以採用這種並發存取原則
read-write: 讀寫型,緩衝在資料變化時觸發更新,適於
經常被讀但很少修改的資料,可以防止髒讀
Transactional: 支援事務,效率最低,交易隔離等級最
高,可以防止髒讀和不可重複讀取
hibernate一級緩衝,資料只能在一個會話(一個使用者)使用,二級緩衝使資料可以共用。
hibernate二級緩衝配置