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


我需要帮助为嵌套对象创建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:无法解析属性:” 我需要找到正确的方法来为此查询创建条件。任何人都可以帮忙吗?


3908
2017-10-17 15:48


起源



答案:


请参阅下面的“查询关联” 用户指南的标准部分

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

16
2017-10-17 15:54



为了我和其他人,可以复制工作代码:def criteria = MyOffice.createCriteria(); def results = criteria.list {cmtData {region {eq(“regionNum”,regionNumber)}}};返回结果; - Patty


答案:


请参阅下面的“查询关联” 用户指南的标准部分

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

16
2017-10-17 15:54



为了我和其他人,可以复制工作代码:def criteria = MyOffice.createCriteria(); def results = criteria.list {cmtData {region {eq(“regionNum”,regionNumber)}}};返回结果; - Patty