![](/img/trans.png)
[英]Grails inheritance and conflicting one-to-many and many-to-many relationship
[英]Grails: GORM Many-to-Many and One-To-Many relationship Mapping
在一个类上实现与另一类的两种不同类型的关系时,我遇到了一些问题。
举例来说,假设一位作者拥有一份书面书籍清单,然后是他的首选书籍清单。
在Grails GORM参考页上,我能够实现正确的多对多关系,如下所示:
class Author {
static hasMany = [books: Book]
}
class Book {
static belongsTo = Author
static hasMany = [authors : Author]
}
这就是完美的工作方式。 当我想将PreferredreferBook关系添加到Author类时,问题就来了:
class Author {
Book prefered //My prefered book
static hasMany = [books: Book]
}
此新行似乎不起作用,启动时(创建表时)出现错误,然后通过保存对象,并不能保存所有关系。 (即使在所有实例上都正确调用了.save()方法)
您是否知道实现所需行为的正确方法是什么?
尝试“ hasOne”。 它将FK存储在子表中,可能会带您解决循环依赖问题
查看我的问题“ 域类关系”的答案。 我相信您的问题在那里可能有答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.