【问题标题】:HQL using parameters in where clauseHQL 在 where 子句中使用参数
【发布时间】:2011-12-12 08:04:48
【问题描述】:

我目前正在尝试执行类似这样的 HQL 查询:

["friend1", "friend2", "friend3"].each { friend ->
        Query q = sessionFactory.currentSession.createQuery(
                """select p.screenName, count(*) from Person p
                        where (p.:thisfriend.enemies = :true)
                        group by p.screenName""")
                .setParameter("thisfriend", friend)

(每个人有 3 个“朋友位置”,其中一些可能是“敌人”)并且显然对“thisfriend”的内联参数化感到不安。有没有办法在这里狡猾或我需要 3 个单独的查询?

【问题讨论】:

    标签: hibernate grails hql


    【解决方案1】:

    您不能对字段名称使用参数。使用 string.format 或条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多