我有一个Grails标准,它具有可以为空的子类。我需要得到所有结果,即使是那些有空子项的结果,但是标准是通过INNER JOIN执行的。如何通过LEFT JOIN执行它?
Grails版本是1.3.7(最新版本),查询正在通过createCriteria()执行.list
答案 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+"%")
}