我正在尝试用JPA 2编写一个查询之间。
Integer zipCode = 50000;
CriteriaBuilder builder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Territory> query = builder.createQuery(Territory.class);
Metamodel m = getEntityManager().getMetamodel();
Root<Territory> root = query.from(Territory.class);
// zipCode between startZipCodeRange and endZipCodeRange
Predicate condition = builder.between(zipCode , root.get(Territory_.startZipCodeRange), root.get(Territory_.endZipCodeRange));
最后一行无法编译,因为zipCode不是Expression类型。 是否可以将zipCode转换为Expression?如果是这样,我该怎么做。
答案 0 :(得分:1)
你可以使用 root.get(Territory_.zipcode)作为函数之间的第一个参数if,Territory确实有zipcode属性。
有关详细信息,请参阅此答案的评论。