0

我如何才能创建(仅定义)一个标准,我必须在很多条件下绑定多个表(所以如果我理解正确的事情必须使用withCriteria)。然后稍后执行条件两次以获得结果。

  1. 首先从具有偏移量和最大值的列表中获取结果
  2. 获取整数

请帮助我尝试了多种方法,但没有得到它的工作......

我正在尝试这样的事情

def histories = TerminHistory.withCriteria{....} //only define it at this point

def historiesDisplay = histories.list(max: 10, offset: 10) //run it
def historiesCount = histories.count() //run it
4

1 回答 1

1

对于这些惰性操作,您需要DetachedCriteria 。查询关联的子将再次分离。

一种 detachedCriteria 形式是使用where。查看wherQueries,它的工作方式与 detachedCriteria 相同。扩展您的示例:

def histories = TerminHistory.where{....} //only defined it at this point
//def histories = new DetachedCriteria(TerminHistory).build{....}

def historiesDisplay = histories.list(max: 10, offset: 10) //run it
def historiesCount = histories.count() //run it

注意:-
DetachedCriteria 和 Where 查询可从 Grails 2.0 版本及更高版本获得。

于 2013-07-02T13:35:21.880 回答