在最近的项目中,做的是解析XML文件,解析过程中会有异常,比如:XML文件中节点的数据和与之对应的数据库的字段中数据的类型不匹配;XML中数据长度超过数据库定义的长度;有数据了的重复插入问题;读取节点出错;XML文件路径出错……会遇到很多异常
我的项目使用的是Spring Boot,Spring Data JPA 其中Spring已经封装好了事务,在注解@Transactional中,自动执行事务,出异常自动回滚,但在使用的时候会遇到一些问题:
在多个方法中使用@Transactional,其中一个方法运行时候报错,但是数据却插进去了,但是其他两个方法没有;有时候抛了异常,却不会回滚;方法嵌套的时候执行报错……
查阅了一些资料后,得知是没有正确使用Spring的@Transactional。
下面借用我查到的别人的博客中的例子来说明Spring的@Transactional到底怎么用:
1 @Service2 public classSysConfigService {3
4 @Autowired5 privateSysConfigRepository sysConfigRepository;6
7 publicSysConfigEntity getSysConfig(String keyName) {8 SysConfigEntity entity =sysConfigRepository.findOne(keyName);9 returnentity;10 }11
12 publicSysConfigEntity saveSysConfig(SysConfigEntity entity) {13

在Spring Boot和Spring Data JPA项目中,遇到使用@Transactional时事务回滚不生效的问题。文章通过实例展示了如何正确使用@Transactional注解,包括默认回滚规则、异常类型对回滚的影响以及事务的传递性。并总结了事务处理的关键点,如异常类型对回滚的作用和嵌套方法中的事务行为。
最低0.47元/天 解锁文章
1320

被折叠的 条评论
为什么被折叠?



