首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails DetachedCriteria不包含sqlRestriction

Grails DetachedCriteria不包含sqlRestriction
EN

Stack Overflow用户
提问于 2013-07-04 19:06:53
回答 1查看 2.1K关注 0票数 3

我需要在grails.gorm.DetachedCriteria中添加子查询。

我尝试使用另一个grails.gorm.DetachedCriteria来完成此操作,但在本例中,我发现grails.gorm.DetachedCriteria不包含sqlRestriction()方法。

我还尝试使用instance.add(Subqueries.exists(subquqery))和hibernate org.hibernate.criterion.DetachedCriteria添加子查询,这种方法在我使用CriteriaBuilder时有效,但在grails.gorm.DetachedCriteria中不起作用,因为grails.gorm.DetachedCriteria不包含instance变量。

有谁可以帮我?

代码语言:javascript
复制
def result = DomainClass1.createCriteria().buildCriteria {
    //some other conditions...
    def subquery1 = DomainClass1.where {
        //some other conditions...
        def subquery2 = DomainClass2.where {
            projections {
                distinct 'id'
            }
            sqlRestriction 'timestamp < to_date(${date},'YYYYMMDDHH24MISS')'
        }
        eqAll 'id', subquery2
    }
    eqAll 'id', subquery1
}.list()
EN

回答 1

Stack Overflow用户

发布于 2013-07-04 23:02:07

我认为你可以在不使用sqlRestriction的情况下实现你想要的。

代码语言:javascript
复制
def result = DomainClass1.createCriteria().buildCriteria {
    //some other conditions...
    def subquery1 = DomainClass1.where {
        //some other conditions...
        def subquery2 = DomainClass2.where {
            //Assuming "timestamp" is the domain class property 
            //and not the column name and variable "date" is
            //a string formatted date with the format 'yyyyMMddHHmmss'
            timestamp.before(Date.parse('yyyyMMddHHmmss', date))
            projections {
                distinct 'id'
            }
            //sqlRestriction 'timestamp < to_date(${date},'YYYYMMDDHH24MISS')'
        }
        eqAll 'id', subquery2
    }
    eqAll 'id', subquery1
}.list()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17468708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档