【发布时间】:2011-02-08 11:55:21
【问题描述】:
我在一个类上实现与另一个类的两种不同类型的关系时遇到了一些问题。
举个例子,假设一位作者有一份成书清单,然后是他最喜欢的一本。
从 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() 方法在所有实例上都被正确调用)
您知道实现所需行为的正确方法是什么吗?
【问题讨论】:
-
我刚刚在 grails 1.3.6 中测试了您的确切代码,没有遇到任何问题。
-
你应该给出你尝试保存对象的代码。
标签: grails many-to-many grails-orm one-to-many