【发布时间】:2012-05-30 18:29:15
【问题描述】:
是否可以在 Criteria API .in 表达式中使用参数列表?
我有这样的事情:
List<Long> list = new ArrayList<Long>();
list.add((long)1);
list.add((long)2);
list.add((long)3);
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Bewerbung> criteriaQuery = cb.createQuery(Bewerbung.class);
Root<Bewerbung> bewerbung = criteriaQuery.from(Bewerbung.class);
criteriaQuery.select(bewerbung).where(
cb.in(bewerbung.get(Bewerbung_.bewerberNummer)).value(list);
return em.createQuery(criteriaQuery).getResultList();
表达式 .value(list) 不起作用,因为 value() 需要一个 long 类型的参数而不是列表。
就我而言,不可能使用子查询。
谁能帮我解决这个问题?
【问题讨论】:
标签: java jpa expression criteria-api