私はマルチテナントDBを使ってGrails 3アプリケーションを開発しています。理解できるように、接続プールのパフォーマンス上の理由から、マルチテナントDBへのクエリはトランザクション内にある必要があります。私はリンクを持っていませんが、Graeme RocherはSOのどこかでその概要を説明しています。Grails withTransaction()とトランザクションサービスメソッドの違い
私が行うときに、それが正常に動作します:
MyDomainClass.withTransaction { status ->
doStuffHere();
}
が、私は方法があれば、それは同じように「いいえセッション見つかった」エラーをスローしないサービスメソッド
@Transactional
class MyService {
doStuffHere() {
}
}
にあることを移動私は上記のwithTransaction()クロージャを使用していませんでした。
誰もが違いを知っていますか?私はサービスに設定する必要がある何か他にありますか?上記のサービスのdoStuffHere()メソッドの中でwithTransaction()を使用することは冗長なようです。
ここでその回答を見つけることができますhttp://docs.grails.org/2.3.11/guide/services.html – Dasma