首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring Transaction @Transaction注释不起作用

Spring Transaction @Transaction注释不起作用
EN

Stack Overflow用户
提问于 2019-07-30 09:58:18
回答 1查看 360关注 0票数 0
代码语言:javascript
复制
@Transactional(rollbackFor = someException.class)
public void methodA() throws someException {
    try {
        methodB();
    } catch (someException e) {
        throw e;
    }
}


public void methodB() throws someException {
    try {

        someManager.save(object); // This object should only save when the whole transaction is committed

        callToSomeOtherServer(); // This call fails and throws exception

    } catch () {
        throw new someException();
    }
}

根据我的理解,在methodB()中,我们使用someManager保存对象,并调用另一个函数因此,这是高级方法中事务的一部分。如果callToSomeOtherServer()失败并抛出someException,,则应该回滚整个事务,保存的对象不应反映在DB中。

但这并不适用于我,对象反映在DB中。有人能帮我,让我明白为什么它不起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2019-07-30 11:29:08

尝尝这个!

@Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED, readOnly = false, timeout = 100, rollbackFor = Exception.class)

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

https://stackoverflow.com/questions/57269029

复制
相关文章

相似问题

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