您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

HibernateException:数据库违规错误后,代理句柄不再有效

HibernateException:数据库违规错误后,代理句柄不再有效

关于您的问题,我有不同的建议。

:您在所有交易中都错误地重用了同一会话。

要检查此问题,请执行以下操作:放入一个断点,saveRecord并检查SessionImpl2个连续调用中对的引用是否不同。

老实说,这是您的问题的几率很小,因为您的代码正在与MS sql Server一起运行。因此,此建议正确的唯一机会是MS sql Server中的约束与Oracle中的约束不同。另外,我认为在这种情况下,hibernate将抛出更明确的异常。

:您在hibernate4中遇到错误

hibernateJIRA中有一些有关此区域的错误报告。(没有您的代码,很难说出您的确切情况)。您的行为很有可能与这些错误之一相关:

https://hibernate.onjira.com/browse/HHH-7688(这个位置与您的位置非常接近,但还有其他位置)

这个错误有一些解决方法吗?

我有一些建议可以尝试:

。此解决方法由Michale Wyraz 建议在此处使用,并且似乎有效。

:不确定它是否会帮助,但是事务是由aop- proxy处理的,并且使用反射可能会导致绕过某些事务管理器代码(不应该这样做,但这是要检查的假设)。

:所有这些bug(在hibernateJIRA中) 或多或少都 与JdbcConnection管理有关,因此更改连接释放模式可能会在某个时候帮助您识别问题。(如果您确实遇到了hibernate中的错误,那么我并不是说更改它是解决方案:您最好的选择可能是等待/提供此修复程序)

:我再也不说这是一种解决方案,但是它可能表明您确实面临着hibernate4中的错误

:如其他答案中所建议的,并且有关hibernate基本代码最新 更改:只需升级hibernate即可解决问题。

其他 2022/1/1 18:14:43 有603人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶