我对 @Transactional 中使用的值的含义有点困惑注释,特别是 @TransactionPropagationType 。也许加文认为从每个枚举类型的名称来看这已经足够明显了,因此决定不记录实际含义...但我不知道以下任何一个的实际含义:强制、从不、必需、支持。有人这样做吗?
最佳答案
从《Seam in Action》一书中,枚举类型的含义是:
REQUIRED 表示执行该方法需要事务。如果一笔交易 不活跃,Seam 将开始一个新的事务。这是默认类型。
SUPPORTS 表示该方法允许在存在 Activity 交易,但如果交易不活动,则不会开始交易。
MANDATORY 表示执行该方法需要一个 Activity 事务。 如果事务尚未进行,则会引发运行时异常。
NEVER 指示调用此方法时事务不应处于 Activity 状态。 如果事务处于 Activity 状态,则会抛出运行时异常。
希望这有帮助;-)
关于java - Seam @Transactional 注释的正确用法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3257936/