程序莫名其妙出现这个事务回滚错误,不显示具体错误信息!!
问题:前几天遇到一个问题,代码没有抛出我想要的带自定义提示消息的异常,却报了个这个,去搜了一下,大概原因如下:
因为我在方法上写了@Transactional注解,里边调用的service的方法上也写了@Transactional注解,并且我在controller还写了try Catch捕获,在catch中使用e.printStackTrace()打印,没有我想要的具体提示信息,在控制台直接报了
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only
于是尝试了网上搜到及AI回答的try Catch及拆解事务嵌套等,都没有鸟用。依旧不显示具体错误信息!!事实我遇到的问题是数据库的问题!(写在最后)
先说下程序问题的解决方式:
1.把service中的@Transactional取消掉,直接使用最外层的事务,但是我是调用了两个service,并且这两个service别的地方还需要单独用,所以就没用这种方式。