1

我正在使用 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%'")

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

我怎么能做到这一点?

谢谢

4

3 回答 3

2

做:

Child.findAllByParentInList( parents )

做吗?

于 2013-07-29T14:47:14.030 回答
1

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

def children = Child.executeQuery("select c from Child as c \
                                  where c.parent.name like '%fra%'")
于 2013-07-29T15:14:39.340 回答
0

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

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

    def children = Child.where {
        parent.name ==~ "%fra%"
    }.findAll()
于 2013-07-29T15:16:04.863 回答