トランザクションは、通常のようにサービスレベルで定義されます。
ただし、場合によっては、より高いSERIALIZABLEの分離レベルを必要とするDAOメソッドがあります。
ただし、SERIALIZABLE分離レベルが必要かどうかの知識は、DAOメソッドにカプセル化されているため、サービスメソッドはこれを知る必要はありません。
DAOメソッドレベルでSERIALIZABLE分離レベルを適用するにはどうすればよいですか?Springの分離レベルを特定する方法すら見つかりません。
トランザクションは、通常のようにサービスレベルで定義されます。
ただし、場合によっては、より高いSERIALIZABLEの分離レベルを必要とするDAOメソッドがあります。
ただし、SERIALIZABLE分離レベルが必要かどうかの知識は、DAOメソッドにカプセル化されているため、サービスメソッドはこれを知る必要はありません。
DAOメソッドレベルでSERIALIZABLE分離レベルを適用するにはどうすればよいですか?Springの分離レベルを特定する方法すら見つかりません。
サービス層は通常、トランザクションセマンティクスを定義します。
ただし、次のアノテーションを追加して、DAO実装メソッドでシリアル化可能な分離レベルを達成し、効果を実現できます。
@Transactional(isolation=Isolation.SERIALIZABLE,propagation=Propagation.MANDATORY)
MANDATORYは、DAOメソッドがトランザクションを作成しない場合にトランザクションを作成しないようにするためのものです。これにより、すべての呼び出しがサービスメソッドから開始されます。必要に応じて変更できます。
それがどのように機能するか教えてください。