1

我有两个名为 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 条包含病房的记录。

在对可为空的内部对象进行排序后,我需要一个标准来获取所有元素。

4

1 回答 1

0

您可能不是在寻找基于 HQL 的方法,但这应该可以解决问题:

IpPatient.findAll("from IpPatient as i left outer join i.ward as w order by w.name asc")
于 2012-10-25T13:43:59.020 回答