1

さまざまな理由から、トランザクション コードを Grails サービスに配置することが最善であることは明らかです。しかし、ドメイン クラスはサービスのようにトランザクションに対応していますか?

ドメイン固有フィールドのデータ バインディングをドメイン クラスに配置し、いくつかの Groovy 規則を使用して Grails バインディングをよりシームレスに動作させることは直感的に理にかなっているようです ( setSomeField(type A) setSomeField(type B) を置き換えるなど)。 . )。また、パフォーマンスとコードの柔軟性を向上させるために Burt Beckwith が提案したように、ドメイン モデルの関係を手動で処理する実験も行っています。これには、setSomeField(...) 呼び出しで他のドメイン クラス インスタンスを更新して保存する必要があります。

それが私がやっていることの背景ですが、元の質問は実際には次のとおりです。ドメイン クラスは Grails サービスと同じトランザクション動作をしますか? そうでない場合、トランザクションを withTransaction{} でラップするか、 @Transactional を使用するか、単に service を使用する必要がありますか?

4

1 に答える 1