【发布时间】:2011-07-01 08:47:29
【问题描述】:
我有 2 个域类,它们通过多对多关系映射。我按照 Grails 文档的说明进行操作,但是在处理这些域上的数据时仍然遇到一些问题。这是我的 2 个域类:
class User {
String name
int age
String job
static hasMany = [groups : Group]
static belongsTo = [org : Organization]
}
class Group {
String groupName
String code
static hasMany = [members : User]
}
我的问题是:
1.上述关系需要一个类持有belongsTo是关系的“所有者”。在这种情况下,User属于Group,但我不知道如何将belongsTo放到User类中,因为Grails建议的标准语法是static belongsTo = [Group](只需指定所有者类名),所以我不能:
- 像这样将其放入存在的 belongsTo 中: static belongsTo = [org : Organization, Group]
- 或者像这样定义另一个 belongsTo:static belongsTo = [Group]
-
下面的例子是正确的:
课本{ 字符串标题 静态的 belongsTo = 作者 静态 hasMany = [作者:作者]
static mapping = { authors joinTable:[name:"mm_author_books", key:'mm_book_id' ] }} 类作者{ 字符串名称 静态 hasMany = [书籍:书籍]
static mapping = { books joinTable:[name:"mm_author_books", key:'mm_author_id'] }}
(参考链接:Many-to-Many link tables in grails (GORM) / hibernate)
我的意思是我们需要为每个类指定连接表的外键名称吗?
- 如果我想查找名称为“ABC”的指定组中的所有用户,如何使用 Grails 的 DynamicFinder?
非常感谢
【问题讨论】:
标签: grails many-to-many dynamic-finders