转义 grails 标准中的关联名称以不与包含 class 变量名称冲突

Escaping association name in grails criteria to not conflict with containing class variable name

这是我的 grails 域的简化版本 class:

class Car {
  int year
  Model model

  List<Car> findCarsBySomeCriteria(int modelId) {
     BuildableCriteria c = createCriteria()
     List<Car> carList = (List<Car>) c.list {
        'in'("year", [1998, 1999])
        model {
            eq("id", modelId)
        }
     }

     carList
  }
}

原来这个条件查询失败,因为查询中提到的 model 关联与 class.

model 属性 冲突

有什么方法可以在条件查询中转义 model 吗?

试试createAlias,喜欢

List<Car> carList = (List<Car>) c.list {
    'in'("year", [1998, 1999])
    createAlias('model', 'mdl')
    eq("mdl.id", modelId)
}