HQL使用where子句中的参数

时间:2011-12-12 08:04:48

标签: hibernate grails hql

我目前正在尝试执行类似这样的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个单独的查询?

1 个答案:

答案 0 :(得分:2)

您不能将参数用于字段名称。使用string.format或criteria。