Java Hibernate未与数据库同步

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

我正在使用hibernate(3.5.6-Final)进行我的web项目。问题是,当我与其中一个用户更改数据时,我看不到与另一个用户的更改。我想第二个仍然可以在缓存中使用。我使用此方法获取数据(Newsletter类是我的实体类):

据我所知,没有办法关闭缓存(除非使用无状态会话)


有人知道我应该修改什么来保持用户数据的同步吗?

尽量避免将对象逐出会话 文件()

表示这将阻止同步数据库中的更改


您确实应该在应用程序代码中使用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();
    }