2011-12-12 78 views
0

目前,我想要做一個HQL查詢是這樣的:HQL使用參數在where子句

["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個單獨的查詢?

回答

2

您不能使用字段名稱的參數。使用string.format或條件。

+0

Dammit Janet。好的,非常感謝! – Noxville