在Hibernate中获取所有会话缓存的对象

时间:2015-04-07 16:40:30

标签: java hibernate caching gorm

我有一个使用org.hibernate.Query.executeUpdate()执行HQL并更改数据库中某些行的方法。如果受查询行影响的某些内容先前已加载到当前会话中(例如,使用Session.get()),则它们现在已过时且需要刷新。

但我希望该方法独立于之前的会话工作,而不是跟踪可能受影响的所有已加载对象,以便之后刷新它们。是否可以使用Hibernate检索和迭代1级缓存中的对象?

1 个答案:

答案 0 :(得分:1)

我找到了以下问题的解决方案,这对我有用:

Map.Entry<Object,EntityEntry>[] entities = ((SessionImplementor)session).getPersistenceContext().reentrantSafeEntityEntries()