我需要将子查询添加到grails.gorm.DetachedCriteria
。
我试图通过其他grails.gorm.DetachedCriteria
执行此操作,但在这种情况下,我发现grails.gorm.DetachedCriteria
不包含方法sqlRestriction()
。
此外,我尝试使用instance.add(Subqueries.exists(subquqery))
和hibernate org.hibernate.criterion.DetachedCriteria
添加子查询,这种方式在我使用CriteriaBuilder
时有效,但在grails.gorm.DetachedCriteria
中它不起作用,因为{ {1}}不包含grails.gorm.DetachedCriteria
变量。
任何人都可以帮助我吗?
instance
答案 0 :(得分:0)
我认为您可以在不使用sqlRestriction
的情况下实现您想要的目标。
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()