Дилемма выражений EclipseLink - PullRequest
0 голосов
/ 08 марта 2012

Я пытаюсь использовать выражение EclipseLink, так как я нашел его очень удобным для динамического объединения условий запроса. Но это должно работать с ReadAllQuery, у которого нет параметров QueryHint (для пакетной обработки), что является обязательным для моего приложения.

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

Как использовать EclipseLink Expression и QueryHint в тандеме?

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

1 Ответ

1 голос
/ 08 марта 2012

Пакетное чтение описано здесь со ссылками на собственную платформу запросов EclipseLink: http://wiki.eclipse.org/Using_Basic_Query_API_%28ELUG%29#Using_Batch_Reading

Вы также можете построить свой объект запроса и затем установить его в объекте запроса JPA для выполнения с помощью метода EJBQueryImpl setDatabaseQuery (query). Это позволит вам использовать API JPH setHint впоследствии, но я считаю, что собственный API дает вам больше контроля и использует его только для выполнения запроса с EntityManager. EJBQueryImpl - это реализация EclipseLink JPA Query, поэтому вам может потребоваться использовать метод unwrap, чтобы получить его в контейнере.

...