安全处理 Hibernate“SET TRANSACTION 必须是事务的第一个语句”错误
我不确定我是否问了正确的问题,提前道歉。
问题
我想知道是否可以使用某种类型的处理程序来回滚 Hibernate 中的错误事务。我遇到一个问题,每当从 Hibernate 进行批量更新期间出现错误时,就会出现“SET TRANSACTION 必须是事务的第一个语句”错误,并且此后我将无法执行任何其他查询。
谢谢 :)
I'm not sure if I'm asking the correct question to begin with, apologies in advanced.
Question
I am wondering if it is possible to have some type of handler to rollback an erroneous transaction in Hibernate. I am having a problem which, whenever an error comes up during a batch update from Hibernate the "SET TRANSACTION must be first statement of transaction" error comes up and I would not be able to do any other query after that.
Thanks
:)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Hibernate没有自动事务管理系统,因此您必须自己发出开始、提交和回滚命令。
如果您使用的是 spring,那么使用 spring 事务管理会更容易 API
例如,
在上面的示例中,一个新事务将在最后一行提交的 updateFoo() 方法的开头启动。如果中间出现任何问题,交易将被回滚。
Hibernate don't have an automatic transaction management system, so you have to issue the begin, commit and roll back commands by yourself.
If you are using spring this can be a lot more easier with spring transaction management API
For example,
In the above example a new transaction will be started at the beginning of the updateFoo() method commited at the last line. If there is any problem in between the transaction will be rolled back.