pgsql报错current transaction is aborted.commands ignored until end of
这个错误翻译过来是:当前事务已中止。在事务块竣事之前,要求被忽略意思就是在pgsql中,同一事务中假如某次数据库操作堕落了,那么当前事务中这个操作以后的所有下令都将堕落。
进行修改的话就是 可以增长检测机制,当我们检测事务中有sql失败时,可以通过回滚/重新开启事务,提交/重新开启事务来解决。
或者,我们也可以直接设置事务自动提交。
利用@Transactional注解解决的话可以直接在注解中修改
@Transactional(rollbackFor = Exception.class) @Transactional注解的rollbackFor属性指定了回滚的非常范例,这里可以设置为Exception.class,表现任何非常都会回滚事务。假如业务逻辑实行过程中需要回滚事务,就抛出一个RuntimeException,这会触发事务的回滚。注意,这里不能利用try-catch语句,而是需要通过抛出非常的方式来触发事务回滚。
@Transactional(rollbackFor = Exception.class)
public class DoSomethingService {
public void doSomething() {
// 执行业务逻辑
// 如果需要回滚事务,抛出一个RuntimeException
if (doSomething) {
throw new RuntimeException("需要回滚事务");
}
}
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]