Подзапрос в предложении FROM с использованием CriteriaQuery - PullRequest
0 голосов
/ 20 ноября 2018

Мне нужно реализовать select from вложенный запрос, для простоты пусть он будет:

select * from (select * from city) c

Как это можно сделать с помощью CriteriaQuery и Subquery?

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Во-первых, ваш синтаксис не соответствует JPA, как упоминалось ранее, во-вторых, вы должны знать, что подзапросы в JPQL разрешены только в предложениях WHERE и HAVING.То же касается и критериев запросов.Если вам нужны более мощные функции подзапроса SQL, тогда с JPA вы должны использовать положения JPA для собственных запросов или иным образом использовать библиотеку JDBC другого типа.

0 голосов
/ 20 ноября 2018

Вы не можете, потому что (выберите * из города) не является объектом, и CritieriaAPI запрашивает объекты, не относящиеся к таблицам.

Единственным способом было бы создать представление (выбрать * из города) исопоставить это представление с сущностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...