安全地处理Hibernate“SET TRANSACTION必须是第一个事务声明”错误

时间:2011-10-25 20:58:59

标签: hibernate transactions set handler rollback

我不确定我是否在提出正确的问题,先生道歉。

问题

我想知道是否可以使用某种类型的处理程序来回滚Hibernate中的错误事务。我遇到了一个问题,每当从Hibernate批量更新过程中出现错误时,“SET TRANSACTION必须是第一个事务声明”错误出现,之后我就无法进行任何其他查询。

由于 :)

1 个答案:

答案 0 :(得分:1)

Hibernate没有自动事务管理系统,所以你必须自己发出begin,commit和rollback命令。

如果您使用spring,使用spring transaction management API

可以更容易

例如,

@Transactional
void updateFoo(Foo foo){
//do your stuff
}

在上面的示例中,将在最后一行提交的 updateFoo()方法的开头启动一个新事务。如果事务之间有任何问题将被回滚。