如何在 groovy/grails 中为嵌套对象创建标准?

Posted

技术标签:

【中文标题】如何在 groovy/grails 中为嵌套对象创建标准?【英文标题】:How to create criteria in groovy/grails for nested object? 【发布时间】:2012-10-07 22:35:25 【问题描述】:

我需要有关为嵌套对象创建休眠条件的帮助。例如:

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】:

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

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

【讨论】:

为了我和其他人复制工作代码的好处:def criteria = MyOffice.createCriteria(); def 结果 = criteria.list cmtData region eq("regionNum", regionNumber) ;返回结果;

以上是关于如何在 groovy/grails 中为嵌套对象创建标准?的主要内容,如果未能解决你的问题,请参考以下文章

在 Groovy/Grails 中使用 JSON 创建对象

如何在 Groovy/Grails 上实现社交网络登录? [关闭]

flash 对象映射如何在 grails 框架中工作

Groovy/grails 如何使用 jquery 从视图中调用控制器方法

groovy grails构建测试数据(buildtestdata插件)如何创建多对多

在 GSP 中打印时在变量中评估 Groovy/Grails 代码