在我的服务中,我创建了一个“根”对象,该对象与许多对象有关联,而这些对象又与更多对象相关联,依此类推。一旦根对象完全构建并准备好保存,我想在根对象上调用save
并同时保存所有关联的对象。现在我有一个名为deepSave
的递归方法,它可以做到这一点。还有更好的方法吗?
答案 0 :(得分:6)
如果您使用belongsTo
GORM会自动为您定义级联。这意味着:如果A belongsTo
B,则在保存B时将保存A.但是,可以在不使用belongsTo
的情况下定义级联(如果这不适合您的域模型):
class Author {
static hasMany = [books: Book]
static mapping = { books cascade: 'all-delete-orphan' }
}
您应该查看GORM提供的cascade属性。另外,hibernate documentation提供了更详细的信息。