首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring-boot ConcurrencyFailureException oracle

spring-boot ConcurrencyFailureException oracle
EN

Stack Overflow用户
提问于 2021-04-01 05:45:21
回答 1查看 80关注 0票数 0

我有一个代码,当一个过程返回错误时,我需要更新oracle中的一个表列。但是,在更新时(在catch块内),会发生以下错误:

org.springframework.dao.ConcurrencyFailureException: PreparedStatementCallback;SQL UPDATE TB_XPTO SET COLUMN_XPTO = XX WHERE ID_XPTO = ?;ORA-02091:事务重复;嵌套异常为java.sql.SQLTransactionRollbackException: ORA-02091:

我的代码:

代码语言:javascript
复制
                 try {
                                             
                     jdbcTemplate.update ("call PROCEDURE_XPTO(?)", ID_XPTO);                

                 } catch (Exception e) {
                    jdbcTemplate.update("UPDATE TB_XPTO SET COLUMN_XPTO = XX WHERE ID_XPTO = ?", idXpto);
                     
                 }

我的数据源配置类

代码语言:javascript
复制
@Bean
public DataSourceBuilder<?> dataSourceBuilder(Environment springEnvironment) {
    DataSourceBuilder<?> dataSourceBuilder = DataSourceBuilder.create();
    dataSourceBuilder.driverClassName("oracle.jdbc.OracleDriver");
    dataSourceBuilder.url("jdbc:oracle:thin:@//server:1521/database.com.br");
    dataSourceBuilder.username("user");
    dataSourceBuilder.password("pass");
    return dataSourceBuilder;
}

@Bean
public DataSource getDataSource(DataSourceBuilder<?> dataSourceBuilder) {
    return dataSourceBuilder.build();
}

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-01 23:41:39

谢谢你的回答,但对我来说很有效,在调用过程的方法中使用@Transactional。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66895741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档