hibernate - 如何在grails createCriteria()中编写条件

标签 hibernate grails gorm

我有一个域类反馈

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()methiod中编写这些条件。

我在这里尝试过的
def feedbackList = Feedback.createCriteria().list(
        ) {
            eq('isMailSent ',  false)
            /** here condition (createdOn - cuurent time) >= 15 minutes **/
       }

最佳答案

这是一个如何完成此操作的示例。我将其详细说明了一下,以便于阅读。

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)
}

关于hibernate - 如何在grails createCriteria()中编写条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21361307/

相关文章:

grails - shiro注释无法正常使用。有人可以建议我怎么了吗?

grails - Grails HasMany列表关系到具有BelongsTo关系的扩展类

grails - grails-在hasMany关系上的自定义排序?

mongodb - Grails 3使用_id和id保存mongoDB文档

java - org.hibernate.hql.internal.ast.QuerySyntaxException : Data is not mapped [from Data]

java - 所有 hibernate 映射对象都需要可序列化吗?

java - 当字段急切时出现 LazyInitializationException

java - JPA - 加入同一张表

grails - Grails:在插件中添加动态方法

Grails 中的 Javascript 表格单击功能