关于事务的注解
常用如下
1、如果有事务, 那么加入事务, 没有的话新建一个(默认情况下),也就是当我们要开启事务的时候才用,即有数据库有增删改操作
@Transactional(rollbackFor=Exception.class,propagation = Propagation.REQUIRED)
2、容器不为这个方法开启事务,一般只读的情况下用这个,可以省略
@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly =true)
3、如果其他bean调用这个方法,在其他bean中声明事务,那就用事务.如果其他bean没有声明事务,那就不用事务.
@Transactional(propagation=Propagation.SUPPORTS)
这个注解一般用于被注解的方法是供另一个service方法调用时会用到,一般很少使用
其他注解属性几乎用不到,如果用会出现问题,除极个别特殊业务场景再议论
详情请参考
http://www.cnblogs.com/younggun/archive/2013/07/16/3193800.html