如何搜索内部类?

时间:2010-03-17 13:40:42

标签: grails groovy gorm

我有这些课程。

class Author{
    Person person
}


class Person{
    String lastName
    String firstName
    String middleName
}

我想查询Person和Author。

def persons = Person.findAllByLastNameiLike("${a}")

但似乎我做不到

def authors = Author.findAllByPerson(persons)

我有什么想法吗?

1 个答案:

答案 0 :(得分:2)

上面显示的代码不起作用

def authors = Author.findAllByPerson(persons)

因为findAllBy*适用于单个对象,而不是集合。要查找Person中包含persons中包含的任何一个的所有作者,请使用HQL或条件查询。例如,(未经测试的)HQL查询看起来像:

Author.executeQuery("""
    FROM Author a
    WHERE a.person IN (:people)""", [people: persons])