私は、Hibernateを使用してMYSQL DBにアクセスするStrutsアプリケーションを持っています。私はDBに変更を加えるいくつかのページを持っています。これらの変更はうまくいき、データはDB内で更新されます。しかし、この更新された情報を頻繁に表示する必要があるページをブラウズすると、ページが更新された後でさえ、それはまだ存在しません。最終的にそれは上がるでしょう。私はこれが休止状態のキャッシングデータと関係があると仮定していますが、どのようにしてデータが最新であることを確認できますか?私はすべてが休止状態のセッションを通過したので、それが変更をピックアップすると仮定していましたか? 私は、更新を行うために使用しているコードは次のとおりです。 変更を反映しないHibernate
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);
はい、上記の設定でトランザクションを明示的にコミットする必要があります。 – javashlook