Grails定义标准

Grails定义标准,grails,gorm,criteria,Grails,Gorm,Criteria,如何创建(仅定义)一个条件一次,而我必须在许多条件下绑定多个表(因此,如果我理解正确,必须使用with criteria)。然后执行两次标准以获得结果 首先从带有偏移量和最大值的列表中获取结果 得到全部计数 请帮助我,我尝试了很多方法,但都没有成功 我在尝试这样的事情 def histories = TerminHistory.withCriteria{....} //only define it at this point def historiesDisplay = histories.l

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

  • 首先从带有偏移量和最大值的列表中获取结果
  • 得到全部计数
  • 请帮助我,我尝试了很多方法,但都没有成功

    我在尝试这样的事情

    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
    
    您需要为这些懒惰的操作提供支持。子查询关联将再次分离

    detachedCriteria的一种形式是使用。查看哪些与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
    
    注:-

    从Grails2.0及更高版本中可以使用DetachedCriteria和Where查询。

    我被迫使用Grails1.3。我使用totalCount()解决了这个问题。无论如何,谢谢你。