我有一个在 web 应用程序中运行很长时间的事务关闭语法。它正在运行 hibernate 4.3.10.Final:
if(t!=null && !t.wasCommitted()) t.rollback();
if(s!=null) s.close();
// t is a org.hibernate.Transaction, s is a org.hibernate.Session
现在这个 web 应用程序将在更新的环境中运行,使用 hibernate 5.1.10.Final。当前代码给了我一个 java.lang.NoSuchMethodError: org.hibernate.Transaction.wasCommissed()Z
异常。
是否可以更新此代码并使其可以在两个 hibernate 版本中运行?如果不是,我应该如何更改它以便它可以与 hibernate 5 一起使用?
最佳答案
可以使用 org.hibernate.Version.getVersionString() 检查您的 hibernate 版本,但在项目中拥有 2 个不同版本的 hibernate 库绝非易事(且不推荐) 。
我正在分支一个新版本的 web 应用程序并在此版本中更新 hibernate。
关于java - 事务关闭语法与 hibernate 4 和 5 兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57694389/