我使用spring AOP + hibernate事务管理器来管理我的事务。在我的生产环境中,由于一些并行运行的作业,我得到了CannotAcquireLockException。
我有一个标题表和一个项目,当我尝试插入标题表时,项目由hibernate级联功能自动插入。因此,当我在项目表上遇到CannotAcquireLockException时,唯一的标题是保存而不是项目,即使它们在同一个事务中。
不幸的是,我不应该分享我的代码,但如果您需要任何细节,请告诉我。
当我收到任何其他异常时,事务将被回滚。
答案 0 :(得分:0)
这是一个明确的僵局。这与DB错误更相关,而不是类的hibernate / Spring问题。我遇到类似的情况,其中一个线程正在做Select而另一个线程试图插入/更新同一行。一些快速的解决方案。
希望这会有所帮助。更多详情here