java - 使用 JDBC spring 在多个查询中回滚
问题描述
我有这个问题,当我在同一个函数中执行两个查询时,如果第二个查询抛出异常并且不工作,第一个查询将你的结果保存在数据库中,两个查询都插入 ddbb示例:
public void myFunction(){
query1(); //insert data in ddbb
query2(); // also try to insert data in ddbb but not working and throw exception
}
在这种情况下,我需要在两个查询中都进行回滚,但目前 query1 不会回滚并将其插入保存在数据库中。
我正在使用弹簧数据 JDBC
谢谢和对不起我的英语,不是我的母语
解决方案
您可以使用 注释您的方法@Transactional
,这将指示 Spring 在发生异常时回滚整个方法:
@Transactional
public void myFunction(){
// insert data in ddbb
// also try to insert data in ddbb but not working and throw exception
}
推荐阅读
- python - 如何垂直并排打印两个字符串
- python - 'str' 和 'datetime.datetime' 的实例之间不支持 '>=' - 也使用 strptime
- c++ - 是否可以有效地计算 A % B 而无需计算 A / B?
- xml - 如何将大量数据编组为 XML
- r - 使用 zoo 包估算每日时间序列时出错
- laravel - 此路线不支持我的 GET 方法。(删除)Laravel 5.8
- json - 使用杰克逊将 @ConfigurationProperties 实例转换为 JSON:未找到序列化程序
- spring-boot - @EnableBinding(Source.class) throws Failed to bind properties under 'server.error.include-stacktrace' to org.springframework.boot.autoconfigure.web
- c# - 如何将 bool 更改为 0 或 1,我可以转换它吗?
- xml - Scala XML 模式匹配,顶级元素