你应该去找spring的书 或 官方文档看看
这里你需要理解的是 事务的传播行为
传播行为主要是用来告知何时该开始一个新的事务 或者 何时暂停一个事务等
如:Propagation.REQUIRED 就是传播行为中的一种
表示如果它的外部已经存在一个事务;则无需再开始新的事务;(他自然在这个事务中)
如果外面没有事务则开始一个新的事务
所有这种事务声明是可以嵌套的(虽然事务声明可以嵌套,但事务本身并没有嵌套,当然事务是不可嵌套的;正像上面讲的一样)
---------------------------------------------------------------------------
如你的问题中 同时对一张表的两种 *** 作
如果这两个 *** 作封装在不同的方法中,只需将这两个方法都声明为Propagation.REQUIRED
并把更上一层调用这两个子方法的 方法也声明为Propagation.REQUIRED
这种方式比较灵活,两个方法即可独立开始事务;也可加入上层事务;具体要看业务需要
如果这两个 *** 作封装在一个方法中,只需要将这个方法都声明为Propagation.REQUIRED即可
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)