在您的情况下,我宁愿
expression#in(Collection)避免不得不循环并
Predicate动态地构建化合物:
CriteriaBuilder cb = em.getCriteriaBuilder();CriteriaQuery<Foo> cq = cb.createQuery(Foo.class);metamodel m = em.getmetamodel();EntityType<Foo> Foo_ = m.entity(Foo.class);Root<Foo> foo = cq.from(Foo_);cq.where(my.get(Foo_.name).in(params));
您可能需要检查使用Criteria API和metamodel
API的基本类型安全查询,以获取更多详细信息。



