gpt4 book ai didi

java - Spring Transaction @Transactional 注释不起作用

转载 作者:行者123 更新时间:2023-12-02 02:22:54 27 4
gpt4 key购买 nike


@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()。所以这是上层方法中事务的一部分。如果 callToSomeOtherServer() 失败并抛出 someException,则应回滚整个事务,并且保存的对象不应反射(reflect)在数据库中。

但这对我不起作用,该对象反射(reflect)在数据库中。有人可以帮助我并让我理解为什么它不起作用吗?

最佳答案

试试这个!
@Transactional(isolation = Isolation.READ_COMMITTED、propagation = Propagation.REQUIRED、readOnly = false、timeout = 100、rollbackFor = Exception.class)

关于java - Spring Transaction @Transactional 注释不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57269029/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com