0

请使用标准或使用某些 API 将下面的 hql 查询转换为 GORM。我是 grails 的新手,我进行了足够的搜索,但我没有得到任何积极的解决方案,如果它很简单,请原谅我。

MappingDetail.executeQuery("select map.id from MappingMaster as map where map.id = (select mapdetail.id from MappingDetail as mapdetail where mapdetail.rawdata_template.id=(select rawdata.id from RawDataMasterTemplate as rawdata where rawdata.name like :name ))",[名称:'%Rick%'])

4

2 回答 2

1

为什么必须在这里使用标准?我认为这是您使用 HQL 的选择。

def raw = RawDataMasterTemplate.findByNameLike('%Rick%')
def detail = MappingDetail.findByRawdata_template(raw)
def master = MappingMaster.get(detail?.id)
于 2013-01-10T14:27:11.147 回答
1

测试这个:

MappingMaster.withCriteria {
  createAlias 'mappingDetail', 'mp'
  createAlias 'mp.rawDtaMasterTemplate', 'rd'
  projections {
    property 'id'
  }
  ilike 'rd.name', '%Rick%'
}
于 2014-04-04T19:31:19.963 回答