Операции сбора JPA CriteriaBuilder с сущностью / объектом

Я использую API JPA CriteriaBuilder для генерации запросов, у меня есть следующий набор bean-компонентов:

  • Исполнитель (содержит данные об исполнителе, такие как имя, пол, адрес и т. Д.)
  • Роль (содержит роли, сыгранные исполнителем, такие как идентификатор роли, тип роли, описание роли и т. Д.)

Художник может играть разные роли, так что это отношения один-ко-многим, ч / б Исполнитель и Роли. Я хочу написать запрос, используя построитель критериев, чтобы выбрать всех художников, которые не играли роль "ГЕРОЯ":

Я обнаружил, что API для построения критериев предоставляет функции для обработки коллекций, такие как:

<E,C extends Collection<E>> Predicate isNotMember(Expression<E> elem,
                                              Expression<C> collection)

Однако примеры, которые я нашел в Интернете для этих функций, в основном используют коллекцию строк. Как показано на этом сайте ( http://www.objectdb.com/java/jpa/query/jpql/collection) проверяет, что языковая коллекция не содержит французский:

Predicate m4 = cb.isNotMember("French", languages);

Как я могу использовать ту же функцию "isNotMember" с Entity, чтобы выбрать всех исполнителей, которые не имеют роли с roleType как HERO?

0 ответов

Другие вопросы по тегам