1 つのトランザクションでさまざまなドメイン クラスのプロパティを保存および更新する必要があります。
私は以下を使用できることを知っています:
def addToChildren(String name, int age) {
User.withTransaction {
def user = new User(name)
user.age = age
user.save()
def school = new School()
school.addToUsers(user)
school.save()
}
}
- このようなトランザクションをドメイン モデルで使用することは可能ですか?
- addToChildren 関数はどこに配置すればよいですか? User クラス、School クラス、または Service のような外部の場所ですか?
- withTransaction または withNewTransaction を使用する必要がありますか?
- モデル関数でトランザクションを実行できますか?
- addToChildren は、サービス関数を呼び出してモデル プロパティを変更するモデル関数であるべきですか?