无法强制休眠去数据库获取新对象
会话工厂:
hibernate.current_session_context_class=jta
hibernate.cache.use_second_level_cache=false
交易: - 使用 UserTransaction。
使用SessionFactory
的getCurrentSession()
来获取Session。
问题是我无法强制休眠访问数据库以使用 Session.get(...) (它在外部更新)获取新值,尽管我使用了 Session.clear( ) 或 Session.evict(...)
或 Session.refresh(...)
、SessionFactory.evict(...)
。
它始终保留旧的价值观。
你有什么想法吗?
Session Factory:
hibernate.current_session_context_class=jta
hibernate.cache.use_second_level_cache=false
Transaction:
- UserTransaction is used.
getCurrentSession()
of SessionFactory
is used to get Session.
The problem is that I could not force the hibernate to access database to get the new values using Session.get(...)
(it is updated outside) although I used Session.clear()
or Session.evict(…)
or Session.refresh(…)
, SessionFactory.evict(...)
.
It always kept the old values.
Do you have any idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
session.flush() --- 将刷新数据库中的内存更新。
session.clear() 将清除会话。
现在再次查询将在数据库上触发。
session.flush() --- will flush your memory update in db.
session.clear() will clear session.
Now query again will fire on database.