我正在尝试使用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?如果是这样,我该怎么做。
最佳答案
您可以使用
如果Territory确实具有邮政编码属性,则将root.get(Territory_.zipcode)作为函数之间的第一个参数。
有关更多详细信息,请参见此答案的评论。