我有一个使用org.hibernate.Query.executeUpdate()
执行HQL并更改数据库中某些行的方法。如果受查询行影响的某些内容先前已加载到当前会话中(例如,使用Session.get()
),则它们现在已过时且需要刷新。
但我希望该方法独立于之前的会话工作,而不是跟踪可能受影响的所有已加载对象,以便之后刷新它们。是否可以使用Hibernate检索和迭代1级缓存中的对象?
答案 0 :(得分:1)
我找到了以下问题的解决方案,这对我有用:
Map.Entry<Object,EntityEntry>[] entities = ((SessionImplementor)session).getPersistenceContext().reentrantSafeEntityEntries()