代码如下所示: getReference接口当实体不存在时会抛出EntityNotFoundException异常,在下面的上层调用会捕获,但是调用会抛出Could not commit JPA transaction RollbackException: Transaction marked as rollbackOnly的异常。 原因: 在一个transactional中如果有另一transaction发生了异常,即使你捕捉了这个异常,那么Transaction也会被定义成RollbackOnly,这也正是事务管理的原则,当系统检测到RollbackOnly位true时就会抛出该异常。 补救:修改为sql语句即可: 相关文章: 2022-12-23 2021-11-29 2021-12-20 2021-06-23