Grails定义标准

时间:2013-07-02 08:53:02

标签: grails gorm criteria

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

  1. 首先从具有偏移和最大值的列表中获取结果
  2. 获取整个计数
  3. 请帮助我尝试了多项但却没有让它发挥作用......

    我正在尝试这样的事情

    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
    

1 个答案:

答案 0 :(得分: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和Grails 2.0及更高版本的查询位置。