1. 程式人生 > >SSH快取開啟和配置

SSH快取開啟和配置

快取
一級快取(Session) session獨享.
二級快取(SessionFactory) session共享.
二級快取開啟方法

二級快取預設關閉,開啟方法如下:

先引入二級快取元件包和配置檔案 (hibernate-ehcache.jar/ehcache.xml)


org.hibernate
hibernate-ehcache
4.2.21.Final

修改hibernate.cfg.xml配置檔案,開啟二級快取配置

true

org.hibernate.cache.ehcache.EhCacheRegionFactory

在對映描述中指定採用二級快取

@Cache載入類定義前/加到hbm.xml中

@Entity
@Table(name=”NOTE”)
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
public class Note {
… …

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="USER_ID")
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
private User user;

public User getUser() {
    return user;
}

public void setUser(User user) {
    this.user = user;
}

}
查詢快取開啟方法

一級和二級只能快取單個物件,查詢快取可以快取集合。

開啟方法如下:
開啟二級快取
在hibernate.cfg.xml中開啟查詢快取

true

在執行查詢語句之前,呼叫query.setCacheable(true);

Query query = session.createQuery(“from Note”); query.setCacheable(true); List list = query.list();//執行查詢