Hibernate:在 Hibernate 5.4.x 版本中 运行 这个 SQL 查询 "alter session enable parallel dml" 出错
Hibernate: getting error to run this SQL query "alter session enable parallel dml" in Hibernate 5.4.x version
我已经在我的应用程序中将 Hibernate 4.x 版本升级到 Hibernate 5.4.x 版本。
我在 运行 低于 SQL 查询时遇到以下错误:
javax.persistence.TransactionRequiredException: Executing an
update/delete query at
org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:413)
at
org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1668)
SQL查询:
hibernateSession.createSQLQuery("alter session enable parallel dml").executeUpdate();
在上述 dml 查询失败后,并行 运行 删除查询也失败。
我尝试在方法级别和 class 级别使用 @Transactional 注释(导入 org.springframework.transaction.annotation.Transactional;),但这并没有解决我的问题。
如有任何解决此错误的建议,我们将不胜感激。
看起来您的事务管理器集成工作不正常,因为 Hibernate 无法加入事务。不确定您的 Spring 配置如何,但一定有问题。我猜你也更新了 Spring?也许您正在使用现在不受支持的配置?
我已在代码中添加了开始事务以解决上述错误。
Transaction trans = session.beginTransaction();
这个解决方案帮我解决了这个错误。
javax.persistence.TransactionRequiredException: Executing an
update/delete query
但现在低于新错误
ERROR | ORA-12801: error signaled in parallel query server P00V
ORA-12829: Deadlock - itls occupied by siblings at block 3591658 of
file 175
我已经在我的应用程序中将 Hibernate 4.x 版本升级到 Hibernate 5.4.x 版本。
我在 运行 低于 SQL 查询时遇到以下错误:
javax.persistence.TransactionRequiredException: Executing an update/delete query at org.hibernate.internal.AbstractSharedSessionContract.checkTransactionNeededForUpdateOperation(AbstractSharedSessionContract.java:413) at org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1668)
SQL查询:
hibernateSession.createSQLQuery("alter session enable parallel dml").executeUpdate();
在上述 dml 查询失败后,并行 运行 删除查询也失败。
我尝试在方法级别和 class 级别使用 @Transactional 注释(导入 org.springframework.transaction.annotation.Transactional;),但这并没有解决我的问题。
如有任何解决此错误的建议,我们将不胜感激。
看起来您的事务管理器集成工作不正常,因为 Hibernate 无法加入事务。不确定您的 Spring 配置如何,但一定有问题。我猜你也更新了 Spring?也许您正在使用现在不受支持的配置?
我已在代码中添加了开始事务以解决上述错误。
Transaction trans = session.beginTransaction();
这个解决方案帮我解决了这个错误。
javax.persistence.TransactionRequiredException: Executing an update/delete query
但现在低于新错误
ERROR | ORA-12801: error signaled in parallel query server P00V ORA-12829: Deadlock - itls occupied by siblings at block 3591658 of file 175