关于springside4.0 到4.1 版本中事务处理的变化 (@Transactional的使用)

zhufengwnsh2 发布于 2014/02/25 16:49
阅读 851
收藏 0

@江南白衣 你好,想跟你请教个问题:我注意到在从springside4.0到4.1的版本中对@Transactional的使用有些不一样,4.0中都是在service的类上设置默认注解:@Transactional(readOnly = true),而在save,update等需要使用事务的方法上使用@Transactional(readOnly = false)进行覆盖,而在4.1中统一在类上使用@Transactional作为默认的事务注解。 我在使用4.0测试时发现readOnly的属性设置为true和false都对事务都没任何影响,数据库记录也不会被锁定, 那么在使用ORM框架时readOnly这个属性能起什么作用?看文档解释说是事务的只读,但真正起作用的应该是另一个属性propagation,默认值为Propagation.REQUIRED,文件解释是“支持当前事务,如果当前没有事务,就新建一个事务”,那岂不是所有查询操作默认都启用了事务? 事务这块看的很迷糊,能否百忙中帮忙解释下,非常感谢!

加载中
返回顶部
顶部