在普通的一对多映射中,“一侧”是关联的所有者。为什么有人会使用belongsTo-mapping进行这种映射?我是否缺少指定belongsTo的副作用?
换句话说:在GORM中指定一个EmiratesTo-mapping与不指定它会产生什么影响?
最佳答案
是否指定belongsTo取决于所需的referential action的类型。
如果您希望Grails在“删除时”执行CASCADE引用操作,则请指定“belongsTo”。如果您希望Grails执行“删除时”,“RESTRICT”引用操作,则不要指定“belongsTo”。
例如
// "belongsTo" makes sense for me here.
class Country {
String name
static hasMany = [states:State]
}
class State {
String name;
// I want all states to be deleted when a country is deleted.
static belongsTo = Country
}
// Another example, belongsTo doesn't make sense here
class Team {
String name
static hasMany = [players:Player]
}
class Player {
String name
// I want that a team should not be allowed to be deleted if it has any players, so no "belongsTo" here.
}
希望这可以帮助。