【问题标题】:How to write conditions in grails createCriteria()如何在 grails createCriteria() 中编写条件
【发布时间】:2014-01-26 08:25:40
【问题描述】:

我有一个域类反馈

class Feedback{
    String name
    String email
    Date createdOn
    Boolean isMailSent
}

I want to fetch all feedbacks with the condition as below 

1) isMailSent ==  false

2) (createdOn - cuurent time) >= 15 minutes 

如何在 createCriteria() 方法中编写这些条件。

我在这里尝试过的

def feedbackList = Feedback.createCriteria().list(
        ) {
            eq('isMailSent ',  false)
            /** here condition (createdOn - cuurent time) >= 15 minutes **/
       }

【问题讨论】:

    标签: hibernate grails grails-orm


    【解决方案1】:

    以下是您如何实现此目的的示例。我把它写得更详细一些,这样更容易阅读。

    import groovy.time.TimeCategory
    
    def now = new Date()
    def fifteenMinutesAgo = null
    use(TimeCategory) {
        fifteenMinutesAgo = now - 15.minutes
    }
    
    def feedbackList = Feedback.createCriteria().list() {
      eq('isMailSent', false)
      le('createdOn', fifteeenMinutesAgo)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多