Grails域HQL查询

时间:2015-01-18 11:09:01

标签: grails hql

我有一个名为A的grails域。如下所示

Class A { 
    Integer x; 
    Collection<B> items 
}

和B类如下

Class B {
    Integer a;
    Integer b;
}

我需要通过a类的x值找出a * b组的总和。例如,一个类的行具有值x = 5,6,5;和一些项目清单。

我需要两行,我可以找到所有项目的总和,用x表示5和6 ....我怎么能这样做。提前谢谢..

*我需要使用单个执行查询来执行此操作,例如&#34;选择count(o.id),sum(o.items.a * o.items.b)来自A as o group by a.x&#34; 我有什么方法可以这样做.... *

2 个答案:

答案 0 :(得分:0)

试试这个:

def query = "FROM B AS b HAVING SUM(t.a * t.b) NOT NULL"
def result = A.findAll(query) 

答案 1 :(得分:0)

尝试这个,如果这工作:

def aList = A.createCriteria()
def result = aList.list() {
    projections {
        sum('a * b') != null
    }
}