java - 事务关闭语法与 hibernate 4 和 5 兼容

标签 java hibernate hibernate-5.x

我有一个在 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/

相关文章:

java - 如何将 JTextField 从 JFrame 传递到另一个 JFrame?

Java、Hibernate、CascadeTypes 和 'garbage collecting' 孤儿

java - 创建/更新/删除时是否必须开始事务?

java - Hibernate 5 是否为 Multi-Tenancy 数据实现了 DISCRIMINATOR 方法?

spring - hibernate 5 命名策略配置

java - 泽西网络服务。出现 404 错误

java - 如何移动这个眼睛小程序或使其眨眼?

Java Hibernate Bug 参数绑定(bind)错误

java - Admob 原生广告与 Realm 数据库

java - 映射异常 : Unknown entity