【问题标题】:Escaping association name in grails criteria to not conflict with containing class variable name在 grails 标准中转义关联名称以不与包含类变量名称冲突
【发布时间】:2018-11-25 18:36:48
【问题描述】:

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

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关联与类的model属性冲突。

有什么办法可以在条件查询中转义model

【问题讨论】:

    标签: grails escaping associations criteria conflict


    【解决方案1】:

    试试createAlias,点赞

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 2017-05-21
      • 1970-01-01
      • 2014-10-03
      • 2012-05-16
      • 1970-01-01
      • 2011-08-31
      相关资源
      最近更新 更多