我正在使用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%'")
我想查询数据库,搜索父项列表中父项的所有子项。
我怎么能做到这一点?
由于
答案 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()