如何防止Query.list()上的StaleObjectStateException



我在我的软件中使用Hibernate乐观锁(通过@Version注释)。它工作得很好,但有时我得到StaleObjectStateException,而试图仅仅检索一些对象从数据库。如何防止Hibernate抛出这些异常?

我猜你在会话中改变了一些对象。然后执行一个查询,该查询将刷新会话。因为对象已经被别人改变了,所以你会得到异常。

解决方案:困难。您可以在执行查询之前循环遍历会话的内容,并打印出所有脏的内容,以便找到导致问题的对象。

最新更新