我通过一个会话连接到我的数据库。在我的整个程序中,我总是有相同的会话。我的线程“1”从数据库中捕获主要数据。必须允许用户取消此线程。因此,如果用户经常或快速按下取消按钮(这是我的解释),则会发生以下错误:
ERROR org.hibernate.AssertionFailure - HHH000099: an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: possible non-threadsafe access to the session
如果我在线程“1”完成后取消在后台运行的线程“2”并尝试从数据库加载另一个主数据集,则会发生相同的错误。
我在我的两个线程中使用相同的会话失败了吗?
解决此类问题的正确方法是什么?