使用@Transactional 注释class 是否与将其所有方法注释为@Transactional 相同?
Is annotating a class with @Transactional the same as annotating all its methods as @Transactional?
如果我像这样用 @Transactional
注释 class:
@Transactional
class MyService { ... }
这是否与用 @Transactional
注释其所有方法一样:
class MyService {
@Transactional
void myFunction() { ... }
}
还有其他一些事情需要考虑,例如:这如何传播到子 classes、内部 classes 和静态方法?
…The result is that all methods are wrapped in a transaction and
automatic rollback occurs if a method throws an exception (both Checked
or Runtime exceptions) or an Error…
所以是的,它是一样的。
how does this propagate to sub classes
是继承的-但建议只注解具体classes
inner classes
据我所知不是。
如果有的话,我只会将 POJO 定义为内部 class - 业务逻辑
总是进入服务
static methods
据我所知不是
如果我像这样用 @Transactional
注释 class:
@Transactional
class MyService { ... }
这是否与用 @Transactional
注释其所有方法一样:
class MyService {
@Transactional
void myFunction() { ... }
}
还有其他一些事情需要考虑,例如:这如何传播到子 classes、内部 classes 和静态方法?
…The result is that all methods are wrapped in a transaction and automatic rollback occurs if a method throws an exception (both Checked or Runtime exceptions) or an Error…
所以是的,它是一样的。
how does this propagate to sub classes
是继承的-但建议只注解具体classes
inner classes
据我所知不是。
如果有的话,我只会将 POJO 定义为内部 class - 业务逻辑
总是进入服务
static methods
据我所知不是