在将一个类与两个不同类型的关系实现到另一个类时,我遇到了一些问题。
作为一个例子,想象一个作者有一个书籍清单,然后是一个他最喜欢的书。
在Grails GORM参考页面中,我能够实现正确的多对多关系,如下所示:
class Author {
static hasMany = [books: Book]
}
class Book {
static belongsTo = Author
static hasMany = [authors : Author]
}
这是买工作的方式。当我想将preferedBook关系添加到Author类时,问题出现了:
class Author {
Book prefered //My prefered book
static hasMany = [books: Book]
}
此新行似乎不起作用,启动时(创建表时)出现错误,然后通过保存对象,并非保存所有关系。 (即使在所有实例上正确调用了.save()方法)
您是否知道实现所需行为的正确方法是什么?
答案 0 :(得分:1)
尝试“hasOne”。它将FK存储在子表中,可以帮助您解决循环依赖性问题
答案 1 :(得分:0)
答案 2 :(得分:0)
查看我的问题Domain Class relationships的答案。我相信你的问题可能会有答案。