我对标准构建器有一个令人沮丧的问题。我有一个应用程序,其中一个用户有一个日历,一个日历有很多条目。看起来很简单,但是当我尝试获取给定用户的日历条目时,我无法访问用户属性(MissingMethodException)。这是代码:
def getEntries(User user) {
def entries = [ClassName].createCriteria().list() {
calendar {
user {
eq("id", user.id)
}
}
}
}
我什至尝试过以下变体:
def getEntries(User user) {
def entries = [ClassName].createCriteria().list() {
calendar {
eq("user", user)
}
}
}
这没有引发异常,但也没有工作。
以下是域类的相关部分:
class Calendar {
static belongsTo = [user: User]
static hasMany = [entries: Entries]
...
}
class User {
Calendar calendar
...
}
class Entry {
static belongsTo = [calendar: Calendar]
...
}
谷歌搜索时,我遇到了 2008 年初注意到的类似问题:http: //jira.codehaus.org/browse/GRAILS-1412
但是根据那个链接,这个问题应该早就解决了。
我究竟做错了什么?