Grails: Problem with nested associations in criteria builder
Posted
by Mr.B
on Stack Overflow
See other posts from Stack Overflow
or by Mr.B
Published on 2010-03-16T09:52:07Z
Indexed on
2010/03/17
2:31 UTC
Read the original article
Hit count: 486
I have a frustrating problem with the criteria builder. I have an application in which one user has one calendar, and a calendar has many entries. Seems straightforward enough, but when I try to get the calendar entries for a given user, I can't access the user property (MissingMethodException). Here's the code:
def getEntries(User user) {
def entries = Entries.createCriteria().list() {
calendar { user { eq("user.id", user.id) } } } }
I have even tried the following variation:
def getEntries(User user) {
def entries = Entries.createCriteria().list() {
calendar { eq("user", user) } } }
That did not raise an exception, but didn't work either.
Here's the relevant parts of the domain classes:
class Calendar {
static belongsTo = [user: User]
static hasMany = [entries: Entries]
...
}
class User {
Calendar calendar
...
}
class Entry {
static belongsTo = [calendar: Calendar]
...
}
When Googling I came across a similar problem noted in early 2008: http://jira.codehaus.org/browse/GRAILS-1412
But according to that link this issue should have been solved long ago.
What am I doing wrong?
© Stack Overflow or respective owner