我有一个使用 Hibernate 访问 MYSQL DB 的 struts 应用程序。我有许多对数据库进行更改的页面。这些更改顺利进行,数据在数据库中更新。但是,当浏览到应该显示此更新信息的页面时,它通常不存在,即使在几次页面刷新后它仍然不存在。最终它会出现。我假设这与休眠缓存数据有关,但是如何确保数据是最新的?我曾假设,当这一切都通过休眠会话时,它会接受变化?我用来进行更新的代码是:
hSession = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = hSession.getTransaction();
tx.begin();
hSession.update(user) ;
然后再次将该用户拉出:
org.hibernate.Session hSession = HibernateUtil.getSessionFactory()
.getCurrentSession();
Transaction tx = hSession.beginTransaction();
User u= (User) hSession.load(User.class, userID);