如何在groovy / grails中为嵌套对象创建条件?

时间:2012-10-17 15:48:36

标签: hibernate grails criteria

我需要帮助为嵌套对象创建hibernate标准。例如:

class office{
    Integer id;
    OfficeDetails cmdData ;
}

class OfficeDetails {
    Integer id;
    Region region;

}

class Region {
    Integer id;
    Integer regionNum;
}

现在,从服务类(officeService)我试图将所有与某个地区相匹配的办公室拉出来:

List<Office> findAllByRegion( Integer regionNumber){
    def criteria =  {  eq ( 'cmdData.region.regionNum', regionNumber ) }
    def allOfficesInTheRegion =  Office.findAll(criteria)

    return allOfficesInTheRegion
}

总是得到异常:“org.hibernate.QueryException:无法解析属性:” 我需要找到正确的方法来为此查询创建条件。任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:16)

请参阅criteria section of the user guide下的“查询关联”:

def criteria = {
  cmdData {
    region {
      eq('regionNum', regionNumber)
    }
  }
}