【发布时间】:2016-09-19 20:30:55
【问题描述】:
我有一个用 spring Transactional 注释包装的 Java 方法。
我里面有两个操作,一个是delete,另一个是insert。我的插入语句必须依赖第一个操作(即delete),但现在由于第一个操作尚未提交,我的插入失败(唯一约束)。但有趣的是,通常在同一个事务中,我应该能够在同一个事务中读取/查看未提交的操作(我的旧专有框架能够做到这一点),但这在我的场景中没有发生,第二个插入仍然失败,因为它看到数据尚未删除。
我尝试使用隔离READ_UNCOMMITTED,但它不起作用。
我必须把这两个操作放在同一个事务中,因为任何失败都应该回滚两个操作,我不能提交第一个操作然后继续第二个操作。
如何在 Spring 框架中做到这一点?
【问题讨论】:
标签: java spring jakarta-ee spring-transactions transactional