<分区>
我看到一个关于 criteriaBuilder 的问题,想出了这个问题......
这是什么意思 from.<Integer> get("...
?
我以前从未见过表达式 <Integer>
的一点.
有人可以给我举个例子吗?
链接:Compile error when using CriteriaBuilder
代码:
public List<BankAccount> findWithBalance(int amount) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<BankAccount> cq = cb.createQuery(BankAccount.class);
Root<BankAccount> from = cq.from(BankAccount.class);
ParameterExpression<Integer> balance = cb.parameter(Integer.class);
cq.select(from);
//Here is the trick!
Predicate predicate = cb.gt(from.<Integer> get("balance"), balance);
cq.where(predicate);
cq.orderBy(cb.asc(from.get("ownerName")));
TypedQuery<BankAccount> query = em.createQuery(cq);
query.setParameter(balance, amount);
return query.getResultList();
}
谢谢!