У меня есть заказы (id, name) с oneToMany на элементы (id, name):
Как я могу получить только те заказы, которые имеют элементы с именем 'banana' с помощью CriteriaBuilder:
@Override
public Order orderQuery() {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery criteriaQuery = cb.createQuery(Order.class);
Root root = criteriaQuery.from(Order.class);
root.fetch("items", JoinType.INNER);
CriteriaQuery d = criteriaQuery.select(root);
criteriaQuery.where(cb.equal(root.get("item.name"), "banana"));
return (Order)this.entityManager.createQuery(criteriaQuery).getSingleResult());
}
Я получаю ошибку:
Unable to locate Attribute with the the given name [item.name] on