0
Ich versuche, eine Summe der Menge zu erhalten anhand von Kriterien (Kriterien Builder und CriteriaQuery)bekommen Summe einer Spalte CriteriaBuilder
Aber ich einen Fehler bekommen, wenn ich den Code schreibe; Hier ist mein Code
public Long findAmountByCriteria(OrderCriteria orderCriteria) {
final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
final CriteriaQuery<BigDecimal> query = criteriaBuilder.createQuery(BigDecimal.class);
Root<Order> root = query.from(Order.class);
query.select(criteriaBuilder.sum(root.get("amount")))
.where(buildPredicateForOrderResponseCriteria(criteriaBuilder, orderCriteria, root));
final TypedQuery<BigDecimal> typedQuery = entityManager.createQuery(query);
return typedQuery.getSingleResult().longValue();
}
Betrag in einem BigDecimal Wert ist.
in ausgewählter Mehtod sagt es,
The method select(Selection<? extends BigDecimal>) in the type CriteriaQuery<BigDecimal> is not applicable for the arguments (Expression<Object>)
in Summe Methode
Bound mismatch: The generic method sum(Expression<N>) of type CriteriaBuilder is not applicable for the arguments (Path<Object>). The inferred type Object is not a valid substitute for the bounded parameter <N extends Number>
Wie kann ich dieses Problem beheben.