#java #spring-data-jpa
#java #spring-data-jpa
Вопрос:
Я хочу написать JPA-запрос, который извлекает все мои объекты, соответствующие простому условию (столбец = логическое значение) и более сложным условиям, т. Е. Идентификатор объекта должен содержаться в другой таблице. MyEntity не имеет никакого отношения к этой другой таблице.
Мое предположение не работает:
@Query(value =
"select msr "
"from MyEntity msr "
"where msr.archived=false "
" AND msr.id in
(select sc.res from search_campaign_results sc
where search_campaign_id=:campaign)")
Page<MyEntity> findResultsNotAnalyzed(Pageable pr, @Param("campaign") Long campaign);
Конечно, ошибка «search_campaign_results не сопоставлен», что правильно.
Как я могу это исправить, не написав полностью собственный запрос?
Комментарии:
1. Почему недостаточно написать собственный запрос в форме
@Query(value = "...", countQuery = "...", nativeQuery = true)
(см. Пример 64 в «Spring Data JPA — Справочная документация» )? Каким-то образом, особенно если таблица подвыборки не имеет представления сущности, я не думаю, что есть более простое решение.2. @hjoeren этого достаточно, но тогда я должен явно записать другие объединения таблиц