无法强制hibernate转到数据库以获取新对象

无法强制hibernate转到数据库以获取新对象,hibernate,refresh,Hibernate,Refresh,会话工厂: 交易: -使用UserTransaction SessionFactory的getCurrentSession用于获取会话 问题是我无法强制hibernate访问数据库,以使用会话获取新值。获取。。。虽然我使用了Session.clear或Session.execute…或Session.refresh…、SessionFactory.execute…,但它在外部更新。。。。它始终保持着旧的价值观 你知道吗?session.flush-将刷新数据库中的内存更新。 session.cl

会话工厂:

交易: -使用UserTransaction

SessionFactory的getCurrentSession用于获取会话

问题是我无法强制hibernate访问数据库,以使用会话获取新值。获取。。。虽然我使用了Session.clear或Session.execute…或Session.refresh…、SessionFactory.execute…,但它在外部更新。。。。它始终保持着旧的价值观


你知道吗?

session.flush-将刷新数据库中的内存更新。 session.clear将清除会话


现在,将在数据库上再次触发查询。

您确定已提交更新外部值的事务吗?是的,已提交。我尝试从另一个SQL客户端查询它。一件奇怪的事情是,当我尝试清除或逐出时,该项在当前会话中根据我的Debugger被删除,然后我提交了该事务。但是,当我的程序调用进入另一个事务时,它仍然无法从数据库访问新事务:-S。是否有任何可能的原因AXTAVT?-TNX@Cathernie:你知道get会返回一个懒惰的代理,并且不会立即访问数据库吗。如果需要立即访问,请改用load。ASAIK get返回实际对象而不是代理,load返回代理并在无法在缓存(如果已使用)和数据库中删除该对象时引发异常。[请参阅:@Catherine是否已退出该对象或类的实例
hibernate.current_session_context_class=jta
hibernate.cache.use_second_level_cache=false