【发布时间】:2018-03-26 16:01:50
【问题描述】:
假设我有一个域对象User,其中包含一个Organization 字段。我可以使用外键映射它,然后让 hibernate 像这样处理其余的事情:
class User {
String id
String firstName
Organization organization
static mapping = {
table 'user'
id column: "user_id", generator:'assigned'
organization column: 'organization_Id'
}
}
class Organization {
String id
String name
String address
static mapping = {
table 'organization'
id column: "organization_id", generator:'assigned'
}
}
这很好用,但是当我想查询组织中的所有用户时,我可能不得不做这样的事情
String orgId = "some id"
Organization org = Organization.findById(orgId)
List<User> users = User.findAllByOrganization(org)
不必传递 Organization 域对象而是只传递作为 User 表上的外键的 Organization.Id 会很方便。
我希望我的代码如下所示:
String orgId = "some id"
List<User> users = User.findAllByOrganization(orgId)
经过研究,这似乎是不可能的,我需要先查询Organization,然后使用该对象。有没有我不知道的方法?
【问题讨论】:
标签: grails grails-orm