在普通的一对多映射中,“一侧”是关联的所有者。为什么有人会使用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.
}

希望这可以帮助。

09-27 01:12