我有两个名为IpPatient,Ward的域类,如下所示。
class IpPatient {
String ipRegNo
Ward ward
static constraints = {
ward nullable:true
ipRegNo nullable:false
}
}
class Ward
{
String name;
static constraints = {
name nullable:true
}
}
现在我想创建像
这样的标准def criteria=IpPatient.createCriteria()
return criteria.list(max:max , offset:offset) {
order("ward.name","asc")
createAlias('ward', 'ward', CriteriaSpecification.LEFT_JOIN)
}
目前IpPatient
表有13条记录,其中8条IpPatient
的记录没有病房,因为病房可以为空。
当我与wardName
排序时,我得到5条包含病房的记录。
在我对可以为空的内部对象进行排序后,我需要一个标准来获取所有元素。
答案 0 :(得分:0)
您可能不会寻找基于HQL的方法,但这应该可以解决问题:
IpPatient.findAll("from IpPatient as i left outer join i.ward as w order by w.name asc")