EclipseLink 1.2 и BatchFetch - PullRequest
       31

EclipseLink 1.2 и BatchFetch

1 голос
/ 08 ноября 2011

Я столкнулся с проблемой EclipseLink, когда несколько запросов к БД выполнялись вместо одного запроса. Я нашел следующие потоки SO, которые предоставляют аннотационное решение @BatchFetch, которое помогает выполнять один главный запрос

Как сделать выборку по соединению вместо выборки в EclipseLink?

Как определить аннотацию EclipseLink для следующего?

Но я использую EclipseLink 1.2, и классы вышеупомянутой аннотации поддерживаются только EclipseLink 2+. Благодарим Вас за помощь в выборе альтернативного решения для 1.2. Я попытался перенести весь проект на EclipseLink 2, но у меня возникают проблемы с отображением, которые у меня не хватает терпения, чтобы их исправить.

Я использую JPA EclipseLink

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

Аннотация @BatchFetch просто устанавливает отображение для использования пакетного чтения. Вы можете сделать это в EclipseLink 1.2, используя DescriptorCustomizer и API ForeignReferenceMapping.

0 голосов
/ 08 ноября 2011

Одним из способов является использование подсказки запроса, например:

    query.setHint(QueryHints.BATCH, "c.sourceTable");

. В этом случае отношение sourceTable для всех c будет загружено одним запросом, а не по одному на каждый запрос.c.

...