首先
先看看我们所遇到的问题
在dao写了2条sql
使用该dao的sql类注解
正常使用没问题,但是使用了for进行多次调用dao的那两条sql就出现了问题,在类上声明的@Transactional,使用for它会不会有任何事务的提交,不用for还可以使用sql,我原以为是sql的问题
然后
后来我检查了下,也在网上查询了相关资料都是无果的,我就使用有for加类上事务注解方式,console都打印出了执行了我的sql,但数据库数据依然没变,我去掉for后调用sql,是ok的,才知道使用for多次调用update刷新数据,它不会每次去执行
最后
解决办法是改为单独的事务控制,去掉类上的@Transactional改为单个的sql事务控制