Grails根据对象列表查询数据库

时间:2013-07-29 14:30:17

标签: grails hql gorm

我正在使用Grails创建一个应用程序。

我有两个域类:

父母与子女:

class Parent {
    string name


    hasMany[children: child]
}

class Child {
    string name

    belongsTo[parent: parent]
}

我搜索名称与关键字类似的所有父母:

def parents = Parent.findAll("From Parent as parent where parent.name like '%fra%'")

我想查询数据库,搜索父项列表中父项的所有子项。

我怎么能做到这一点?

由于

3 个答案:

答案 0 :(得分:2)

的作用:

Child.findAllByParentInList( parents )

做到了吗?

答案 1 :(得分:1)

使用HQL,您可以在单个查询中实现相同的目标:

def children = Child.executeQuery("select c from Child as c \
                                  where c.parent.name like '%fra%'")

答案 2 :(得分:0)

有很多可能性,请参阅http://grails.org/doc/latest/guide/GORM.html#querying

您还可以通过以下方式查询孩子:

    def children = Child.where {
        parent.name ==~ "%fra%"
    }.findAll()