EclipseLink JPA с вложенным выбором в первой части предложения FROM - PullRequest
0 голосов
/ 19 января 2019

У меня есть несколько запросов Oracle SQL, таких как:

SELECT USUARIO 
FROM (SELECT DISTINCT CREATED_BY USUARIO FROM COMPROBANTE_PPTAL);

Теперь мне нужен тот же запрос в формате JPA (Eclipselink jpql)

Я попробовал это без удачи:

SELECT s  FROM  (SELECT DISTINCT c.createdBy AS USUARIO FROM ComprobantePptal c ) s

Если я выполню это в контексте eclipselink, я получу эту ошибку:

(SELECT DISTINCT c.createdBy AS USUARIO FROM ComprobantePptal c) s' cannot be the first declaration of the FROM clause

Так что это означает, что я не могу использовать подвыбор в первой части предложения from.

Если я попробую:

SELECT s,c  FROM ComprobantePptal c, (SELECT DISTINCT c.createdBy AS USUARIO FROM ComprobantePptal c ) s

Теперь запрос работает, но результат перегружен данными 'trash', которые я получаю с первой частью предложения from.

Есть ли способ выполнить только запрос в Eclipselink / jpql? Если ответ «нет», пожалуйста, покажите мне обходные пути, которые я могу использовать. У меня нет идей, и у меня есть более 1000 подобных запросов, и использование нативных запросов не вариант, потому что мне нужно, чтобы проект был независим от базы данных.

...