状況
ファサード パターンを使用すると、異なる単一のサービスが 1 つの束にまとめられるため、ユーザーがさまざまなサービス オブジェクト (POJO またはセッション Bean) と直接対話しない可能性が高くなります。
アノテーションは、Facadeの@Transactional
メソッドではなく、単一サービスのメソッドのレベルで適用されます。
これは実際的な問題を解決します。サービスにインターフェースがない場合、Spring は適切なトランザクション プロキシを使用できず、さまざまな複雑さを引き起こします。
質問
望ましい実践とは何ですか?
- 優れたプロキシのために単一のサービス インターフェイスを作成する
- または、
@Transactional
アノテーションを Facade メソッドに移動します (これにより、内部的にサービスを使用する場合も、トランザクションを保証するために Facade を通過する必要があります)。 - それとも?
現場経験は?また、広い視野からの検討も歓迎します。