今天碰到一个郁闷的问题。。。spring配置的事务回滚无效。。
而且奇怪的是代码中总共操作了3张表的数据,但是其中2张表在发生异常时回滚了,另一张表死活不回滚。
开始还以为是事务嵌套导致的,但是搜索一番发现spring默认的事务传播机制是支持嵌套事务,并且发生异常会全部回滚了···
这就奇了怪了,试了好几遍仍然是其中一张表不回滚···就感觉应该不是spring的问题,就出在这张表的身上。
要说表有什么不同,除了数据库引擎能够影响之外其他应该对事务没什么影响吧。
果不其然,看了下那张不回滚的表,发现他的数据库引擎是MyISAM,稍稍搜索了下,MyISAM为了性能不支持事务···真是坑,换成InnoDB就没问题了,这个小问题困扰了一天,特此记录一下。