我有 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]
下面的例子是正确的:
class Book { String title static belongsTo = Author static hasMany = [authors:Author]
static mapping = { authors joinTable:[name:"mm_author_books", key:'mm_book_id' ] }
} 类作者 { 字符串名称静态 hasMany = [books:Book]
static mapping = { books joinTable:[name:"mm_author_books", key:'mm_author_id'] }
}
(参考链接:grails (GORM) / hibernate 中的多对多链接表)
我的意思是我们是否需要为每个类指定连接表的外键名称?
- 如果我想查找名称为“ABC”的指定组成员的所有用户,我该如何使用 Grails 的 DynamicFinder?
非常感谢