【发布时间】:2013-01-16 08:14:38
【问题描述】:
一个查询的组成如下:
def subQuery = {
ge("date", fromDate)
}
def query = {
projections {
sqlProjection 'sum(hoursBefore+hoursAfter) as totalHours', 'totalHours', INTEGER
}
and subQuery
}
然后执行如下:
def results = WorkLog.createCriteria().get(query)
我得到错误:
没有这样的属性:INTEGER 用于类: grails.orm.HibernateCriteriaBuilder
知道如何解决这个问题吗?
【问题讨论】:
-
你试过java.lang.Integer吗?
-
算了。无效的评论。它应该与 INTEGER 一起使用。 ================================================== =========================== 你有没有直接尝试过WorkLog.withCriteria?
-
尝试类似:====================================== ======================================== def results = WorkLog.withCriteria { projections { Projections. sqlProjection('sum(hoursBefore+hoursAfter) as totalHours', ["totalHours"].toArray(new String[1]), [Hibernate.INTEGER].toArray(new org.hibernate.type.Type[1]) ) }和子查询}
-
尝试省略
projections{},我遇到了与sqlProjection类似的问题,并尝试明确写出完整的包名grails.orm.HibernateCriteriaBuilder.INTEGER(或org.hibernate.type.StandardBasicTypes .INTEGER 在某些 grails 版本中)
标签: hibernate grails grails-orm hibernate-criteria