通过使用条件,这应该不成问题。
CriteriaBuilder queryBuilder = em.getCriteriaBuilder();CriteriaQuery query = queryBuilder.createQuery();Root<Demo> demo = query.from(Demo.class);Iterator it = map.entrySet().iterator();Map.Entry wherePair = (Map.Entry)it.next(); // This is retrieved for creating the where clausequery.where(wherePair.getKey() + "=" + wherePair.getValue());while (it.hasNext()) { Map.Entry pairs = (Map.Entry)it.next(); query.and(" " + pairs.getKey() + "=" + pairs.getValue());}我不能保证它会编译,但这就是想法。



