Спящий режим генерирует m + 1 запросов во многих -до -один

Моя проблема очень проста, но я не знаю, как заставить Hibernate работать так, как я хочу: -Таблица MainTable имеет много -2 -Одна с ParentTable (со 100 строками ). MainTable указывает на m=26 строк из 100 строк в ParentTable

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "PARENT_ID")
@Fetch(FetchMode.JOIN)

Когда я просто запрашиваю "из MainTable"

он сгенерирует 26 + 1 запросов

Когда я отслеживаю запросы, первый запрос загружает только идентификатор PARENT _, используемый 26 последующими запросами. Я думаю, у него должен быть способ загрузить всю PARENT _TABLE в 1-м запросе..

Пожалуйста, помогите, предположив, что:

  • FetchType.EAGER НЕОБХОДИМ
  • Использование из MainTable mt left join fetch mt.parent parent допустимо, но у нас много ассоциаций
7
задан Phung D. An 8 August 2012 в 00:40
поделиться