Grails中的事务

Grails中的事务,grails,transactions,gorm,Grails,Transactions,Gorm,在几个域类中,我使用classUser创建了一个属性createdBy。如果我删除了一个用户,我想更改所有域对象以使用此属性的默认用户 我希望通过事务(全部更改或不执行任何操作)来实现这一点。 如何使用grails事务实现这一点?As-marko-已经评论过,您可以通过实现一个服务来实现这一点。另一种方法是使用“beforeDelete”事件。使用beforeDelete时,请确保使用另一个hibernate会话 User.withNewSession { // your code

在几个域类中,我使用class
User
创建了一个属性
createdBy
。如果我删除了一个用户,我想更改所有域对象以使用此属性的默认用户

我希望通过事务(全部更改或不执行任何操作)来实现这一点。
如何使用grails事务实现这一点?

As-marko-已经评论过,您可以通过实现一个服务来实现这一点。另一种方法是使用“beforeDelete”事件。使用beforeDelete时,请确保使用另一个hibernate会话

User.withNewSession { 
     // your code here 
} 

您的意思是所有表中的“createdBy”都是外键,当用户被删除时,您想将该值更改为默认用户吗?这不是一个好主意,因为它可能会导致多个表和行的更新,更好的方法是只将用户标记为已删除或不将字段设置为FK,当您删除该用户时,将其放在旧用户表中以供将来参考。我通常创建一个服务并将其设置为transactional,此链接将解释它的所有内容: