伝票サポート付きの春の取引の使用について理解したいと思います。 javaドキュメントでは、@Transactional(propagation = Propagation.SUPPORTS)
のメソッドがトランザクション内から呼び出された場合はトランザクションをサポートしていますが、トランザクションが存在しない場合はメソッドが非トランザクションとして実行されることを示しています。伝票サポート付きの春の取引
Propagation.SUPPORTS
に関係なく、これはまだ春のトランザクションの動作ではありませんか?上記のコード例で
public class ServiceBean {
@Transactional(propagation = Propagation.SUPPORTS)
public void methodWithSupportsTx() {
//perform some database operations
}
}
public class OtherServiceBean {
@Transactional(propagation = Propagation.REQUIRED)
public void methodWithRequiredTx() {
//perform some database operations
serviceBean.methodWithSupportsTx();
}
}
かかわらずかmethodWithSupportsTx()
のそれはmethodWithRequiredTx()
、右@Transactional
注釈を有するかどうかに応じて、トランザクション内で実行される@Transactional(propagation = Propagation.SUPPORTS)
注釈を有しますか?
繁殖レベルのサポートの必要性/用途は何ですか?
私はそうは思わない。伝搬レベルがNEVERでない場合にのみ、エラーがスローされます。また、PROPAGATION.SUPPORTSは新しいトランザクションを作成しません。 –