Java Hibernate未与数据库同步
我正在使用hibernate(3.5.6-Final)进行我的web项目。问题是,当我与其中一个用户更改数据时,我看不到与另一个用户的更改。我想第二个仍然可以在缓存中使用。我使用此方法获取数据(Newsletter类是我的实体类): 据我所知,没有办法关闭缓存(除非使用无状态会话)Java Hibernate未与数据库同步,java,hibernate,Java,Hibernate,我正在使用hibernate(3.5.6-Final)进行我的web项目。问题是,当我与其中一个用户更改数据时,我看不到与另一个用户的更改。我想第二个仍然可以在缓存中使用。我使用此方法获取数据(Newsletter类是我的实体类): 据我所知,没有办法关闭缓存(除非使用无状态会话) 有人知道我应该修改什么来保持用户数据的同步吗?尽量避免将对象逐出会话 文件() 表示这将阻止同步数据库中的更改 您确实应该在应用程序代码中使用filter和avoid来管理会话尽量避免将对象逐出会话 文件() 表示这
有人知道我应该修改什么来保持用户数据的同步吗?尽量避免将对象逐出会话 文件() 表示这将阻止同步数据库中的更改
您确实应该在应用程序代码中使用filter和avoid来管理会话尽量避免将对象逐出会话 文件() 表示这将阻止同步数据库中的更改 您确实应该使用过滤器,避免在应用程序代码中管理会话
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();
}