3

この単純なクエリを実行できないようです。ID のリストがあり、この 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" も使用されます。

ありがとう。

4

1 に答える 1

11

パラメータをクエリにバインドすることになっています。パラメータは匿名 ( ?) または名前付き ( :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();
于 2012-09-18T21:57:37.117 に答える