使用@Transactional注释类与注释其所有方法@Transactional相同吗?

时间:2018-06-18 19:34:59

标签: grails

如果我使用@Transactional这样的类注释:

@Transactional
class MyService { ... }

这与使用@Transactional注释所有方法一样:

class MyService {
    @Transactional
    void myFunction() { ... }
}

还有一些其他需要考虑的事项,例如:它如何传播到子类,内部类和静态方法?

1 个答案:

答案 0 :(得分:1)

documentation

  

…结果是所有方法都包装在一个事务中,并且   如果方法引发异常(都选中,则自动回滚)   或运行时异常)或错误…

所以是的。

  

这如何传播到子类

它是继承的-但建议仅注释具体类

  

内部课程

没有AFAIK。
如果有的话,我只能将POJO定义为内部类-业务逻辑 总是投入服务

  

静态方法

不是AFAIK