可能重复:
Grails/GORM: The meaning of belongsTo in 1:N relationships
我有2个带有belongsTo关联的域类
class Teacher {
String name
String department
}
class Address {
String line1
String line2
// Teacher teacher //this line is commented.
static belongsTo = [teacher: Teacher]
static constraints = {
}
}
答案 0 :(得分:1)
拥有belongsTo
子句的目标是从一个类到另一个类的双向访问。请参阅Documentation of belongsTo。
你可以省略老师的第二次申报(你注释掉了)。
所以看起来应该是这样的:
class Teacher {
String name
String department
Set<Address> adresses = new HashSet<Address>() // here you could set a specific list/set data holder
static hasMany = [adresses:Address]
}
class Address {
String line1
String line2
static belongsTo = [teacher: Teacher]
static constraints = {
}
}
这里有一对多的关联,其中两个类都可以相互访问。如果删除belongsTo
子句,则无法从地址对象访问教师对象。这也反映在数据库中。
答案 1 :(得分:1)
belongsTo的目标不是使关系双向 - 目标是指定关联的哪一方获得所有权并定义级联保存和删除操作的行为
阅读本文documentation,它解释了您需要了解的关于belongsTo的所有内容。