grails gorm有许多基于gsp页面选择选项的查询

grails gorm有许多基于gsp页面选择选项的查询,grails,hql,gorm,Grails,Hql,Gorm,我有下面的场景 Domain class A which hasMany B's Domain class B which hasMany C's and belongsTo A Domain class C which belongsTo B Class E { A a B b C c } Class C { String name } 我想查询E值,即获取一些E属性的列表,例如在本例中,c.name基于用户在选择框中选择的值,即用户从多个选择框中选择a和B,并基于此条件

我有下面的场景

Domain class A which hasMany B's
Domain class B which hasMany C's and belongsTo A
Domain class C which belongsTo B

Class E {
 A a
 B b
 C c

 }
 Class C {
  String name
 }
我想查询E值,即获取一些E属性的列表,例如在本例中,c.name基于用户在选择框中选择的值,即用户从多个选择框中选择a和B,并基于此条件获取名称列表

换句话说,我想在c中找到所有满足a和b设置的条件的名称

我试图找出GORM查询,但没有结果


谢谢

我通过使用原始SQL连接解决了这个问题。不确定这是不是最好的方法,但对我来说很有效。 我从A和B得到了参数,即

def fromA = params.someCriteriaValueInA
def fromB = params.someCriteriaValueInB
请注意,这些是从普惠制获取的。此外,fromB值将基于fromA值,使用链式选择加载

在grails控制器/服务中

def db = new Sql(dataSource)
def result = db.rows("your sql to go here")
然后,您可以对结果执行任何操作,例如在模板中对其进行操作

render(template: "myResults", model:[result :result])
别忘了在控制器/服务中注入数据源bean,并进行必要的导入

import groovy.sql.Sql
请注意,这涉及到遍历许多域类实例,对于那些喜欢原始SQL的人来说,这似乎更容易。希望使用不同的方法,可能使用GORM的标准。

最好使用HQL: