HQL с использованием параметров в предложении where - PullRequest
0 голосов
/ 12 декабря 2011

Я сейчас пытаюсь сделать 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 Ответ

2 голосов
/ 12 декабря 2011

Нельзя использовать параметры для имен полей.Используйте string.format или критерии.

...