Фильтр вложенной коллекции с помощью Criteria API, Hibernate, Java

У меня есть два класса описывающие сущности - родительскую (Company) и дочернюю (Developer). В родительской сущности дочерние представлены коллекцией. При использовании Criteria API я пытаюсь получить объект Company с отфильтрованными (Predicate) дочерними объектами в коллекции. Hibernate возвращает объект Company c коллекцией объектов Developer (по указанному фильтру), но потом все равно подгружает остальные дочерние элементы в коллекцию. Я так понимаю, это связно с контекстом персистентности и, вероятно, мне надо дальше вручную отфильтровывать коллекцию, чтобы отдать представлению. Или это костыль? Существует ли какой-то способ получить объект родительской сущности с "временно выкинутыми" дочерними, чтобы не костылить и не писать лишнего кода? Я изучаю Spring всего 2 недели... Прошу помощи.

        CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
        CriteriaQuery<Company> criteriaQuery = criteriaBuilder.createQuery(Company.class);
        Root<Company> rootCompany = criteriaQuery.from(Company.class);
        Join<Company, Developer> join = rootCompany.join("developers");
        criteriaQuery.select(rootCompany);
        criteriaQuery.distinct(true);
        criteriaQuery.where(criteriaBuilder.equal(join.get("name"), "name"));
        TypedQuery<Company> query = em.createQuery(criteriaQuery);
        List<Company> companies = query.getResultList();


Ответы (0 шт):