柏油路留不下脚印 2019-07-10 22:20 采纳率: 0%
浏览 4910

SpringBoot 中事务配置 Propagation = NOT_SUPPORTED 不起作用

在研究 Spring Boot 中配置事务是,发现一个不明白的问题,在 Service 上使用了 @Transaction 注解,并且 Propagation.NOT_SUPPORTED,结果还是将数据持久化了。

service 代码:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserRepository UserRepository;

    @Transactional(propagation=Propagation.NOT_SUPPORTED, readOnly=true)
    @Override
    public User createUser(User user) {
        user = UserRepository.save(user);
        return user;
    }

}

Repository 代码:

public interface UserRepository extends JpaRepository<User, Long> {

}

App 启动类代码:

@Configuration
@SpringBootApplication
@EnableTransactionManagement
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

期待的结果是,createUser 不应该将User 数据持久化!

希望朋友们帮我分析一下这是什么原因引起的呢?

谢谢!

  • 写回答

2条回答

  • 断腿的鱼 2019-07-11 10:22
    关注

    你增删改就用默认的事务就好了 直接在service类上面写@Transactional 查询方法的时候再去配置@Transactional(propagation=Propagation..SUPPORTED, readOnly=true)

    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题