如何将Grails标准作为左连接执行?

时间:2011-08-22 22:30:58

标签: grails criteria

我有一个Grails标准,它具有可以为空的子类。我需要得到所有结果,即使是那些有空子项的结果,但是标准是通过INNER JOIN执行的。如何通过LEFT JOIN执行它?

Grails版本是1.3.7(最新版本),查询正在通过createCriteria()执行.list

2 个答案:

答案 0 :(得分:1)

尝试使用hql语句。对于左连接,请参阅:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html

hql语句可以按如下方式执行:DomainClass.executeQuery(“select from ....”)

答案 1 :(得分:1)

由于问题已经过去,并且已经在这方面做了很多改进。以下将帮助像我这样搜索的人。以下工作甚至可以在带有集合的条件查询中使用复杂的{}和/或}块。例如。特色是一个系列。

    List users = User.createCriteria().list(){
                    createAlias('specialities', 'sp', CriteriaSpecification.LEFT_JOIN)

    ilike("sp.name","%"+trimPhrase+"%")
}