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

时间:2012-10-25 10:48:06

标签: grails

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

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

1 个答案:

答案 0 :(得分:0)

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

IpPatient.findAll("from IpPatient as i left outer join i.ward as w order by w.name asc")