1

Grails サービスが呼び出しをsave(flush: true)ロールバックできるトランザクショナルかどうかはわかっています。私の質問は、サービス中にフラッシュを呼び出す必要があるかどうかです。

4

2 に答える 2

3

作業シナリオによって異なります。理想的には、セッションはサービス クラスから返されるとフラッシュされるため、サービス クラスに何かを保存するたびにフラッシュする必要はありません。

しかし、2 つの異なる休止状態セッションが別々に動作しているが、一方のデータが他方に依存しているシナリオを考えてみてください。その場合、フラッシュする必要があります。

たとえば、セッション 2 は、セッション 1 によって頻繁に同時に更新されるデータベースからデータを読み取る必要があり、その情報を基になる永続性にフラッシュして、セッション 2 で使用できるようにする必要があります。

@Transactionalサービス クラスで明示的に使用し、必要に応じて伝播/分離戦略を指定することで、トランザクションを処理する方法を細かく設定できます。

于 2013-08-12T14:48:27.117 に答える