列表中的JPA SELECT

时间:2012-09-18 20:51:30

标签: jpa jpql

我似乎无法运行这个简单的查询。我有一个id列表,我想从db。

中检索具有此id的所有行
 List<String> uniqueIds is my list.

我试过了String q = "SELECT item FROM Tenant item WHERE item.id IN (:"+uniqueIds+")";

我也试过这个没有:和()。他们没有工作。我究竟做错了什么。我也试过(String uniqueId:uniqueIds){         in + = uniqueId +“,”;     }

并使用“in”!

感谢。

1 个答案:

答案 0 :(得分:9)

您应该将参数绑定到查询。参数是匿名的(?)或命名的(:parameterName):

TypedQuery<Tenant> query = 
    em.createQuery("select item from Tenant item where item.id in :ids", Tenant.class);
query.setParameter("ids", uniqueIds);
List<Tenant> result = query.getResultList();