pgsql报错current transaction is aborted.commands ignored until end of ...

打印 上一主题 下一主题

主题 1007|帖子 1007|积分 3031

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这个错误翻译过来是:当前事务已中止。在事务块竣事之前,要求被忽略
意思就是在pgsql中,同一事务中假如某次数据库操作堕落了,那么当前事务中这个操作以后的所有下令都将堕落。
进行修改的话就是 可以增长检测机制,当我们检测事务中有sql失败时,可以通过回滚/重新开启事务,提交/重新开启事务来解决。
或者,我们也可以直接设置事务自动提交。
利用@Transactional注解解决的话可以直接在注解中修改
  1. @Transactional(rollbackFor = Exception.class)
复制代码
@Transactional注解的rollbackFor属性指定了回滚的非常范例,这里可以设置为Exception.class,表现任何非常都会回滚事务。假如业务逻辑实行过程中需要回滚事务,就抛出一个RuntimeException,这会触发事务的回滚。注意,这里不能利用try-catch语句,而是需要通过抛出非常的方式来触发事务回滚。
  1. @Transactional(rollbackFor = Exception.class)
  2. public class DoSomethingService {
  3.         public void doSomething() {
  4.                 // 执行业务逻辑
  5.                 // 如果需要回滚事务,抛出一个RuntimeException
  6.                 if (doSomething) {
  7.                         throw new RuntimeException("需要回滚事务");
  8.                 }
  9.         }
  10. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

篮之新喜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表