JPA несколько запросов на соединение - PullRequest
0 голосов
/ 04 ноября 2011

В этом конкретном сценарии, скажем, у меня есть пара таблиц {A, B} и их сгенерированные классы JPA.Существует взаимосвязь FK для столбца X из таблицы A -> таблицы B, и этот столбец X в таблице A помечен

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "X", referencedColumnName = "X", insertable = false, updatable = false). 

У меня есть запрос именованного JPA, который объединяет две таблицы в этомколонка "Х".При выполнении я получаю правильные результаты, но к базе данных выполняется несколько запросов.При каждом совпадении данных в соединении создается запрос, который запускается для БД.Это перегружает нашу базу данных.Насколько я понимаю, при извлечении LAZY JPA не должен выполнять главный запрос только один раз и возвращать весь набор результатов, вместо того, чтобы создавать дополнительные дочерние запросы для сопоставления данных объединения

1 Ответ

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

Вам не нужно делать запрос на соединение, чтобы получить данные.Если вы укажете OneToOne, Hibernate связывает два объекта.LAZY означает, что запрос на получение связанного объекта будет запущен только тогда, когда вам потребуется этот объект.

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