1
我爲我的web項目使用hibernate(3.5.6-Final)。問題是,當我用其中一個用戶更改數據時,我看不到其他用戶的更改。我想第二個仍然從緩存工作。我用這種方法獲取數據(通訊類是我的實體類):休眠不與數據庫同步
public static List<Newsletter> getNewsletters() {
List<Newsletter> newsletter = new ArrayList<Newsletter>();
Session session = null;
try {
session = HibernateConfiguration.getSession();
session.clear();
Criteria criteria = session.createCriteria(Newsletter.class);
newsletter = criteria.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (session != null) {
session.close();
}
}
return newsletter;
}
而且我用下面的方法將數據保存:
public static void save(Object o) throws Exception{
Session session = HibernateConfiguration.getSession();
Transaction transaction = session.beginTransaction();
session.saveOrUpdate(o);
transaction.commit();
session.evict(o);
session.close();
}
據我所知還沒有一個關閉緩存的方式(除非使用無狀態會話)。
有沒有人有任何想法我應該修改,以保持用戶的數據同步?
謝謝,它解決了這個問題。 – blase