想知道“belongsTo”是否是写方式来表示所有权关系,其中始终存在父对象,但父级可以切换。
即如果所有者域是
class Owner {
String name
}
House应该是:
class House {
String address
Owner owner
}
或
class House {
String address
static belongsTo = [owner: Owner]
}
我想要实现的是双向1:1,我可以访问owner.house或house.owner,并且可以在不删除旧所有者的情况下更改所有者。
答案 0 :(得分:0)
without deleting the old owner.
?
所以你有两个选择 - 到目前为止最简单的,当前方法实际上错误的地方应该是Should House be:
可能是这个吗?
class House {
String address
static hasMany = [owner:Owner]
Owner currentOwner
}
有了这样的关系,你说房子里有许多主人。所以owner1 owner2 ..它还有一个当前的所有者,即所有者本身。
每次添加新条目时,都会将其添加到所有者集合house.addToOwner(owner)
,然后设置currentOwner=owner
的上次/最新更新。
答案 1 :(得分:0)
如果你想导航两个实体,并且关系是1:1,你可以使用hasOne
class Owner {
String name
static hasOne = [house: House]
}
class House {
String address
static belongsTo = [owner: Owner]
}