Hibernate - коллекция, не заселяющая всех детей - PullRequest
0 голосов
/ 05 октября 2011

У меня была очень странная проблема в спящем режиме.

Мы используем Grails и GORM для разработки приложения.

Поведение следующее. Предположим, у меня есть отношения отдела -> Сотрудники. Предположим, что у меня Dept.id = 1 с 3 сотрудниками и Dept.id = 2 с 5 сотрудниками.

Мы пытаемся создать запрос наподобие. Получить все отделы, где employee.id = X.

Пусть это будет через соединение / критерии или что-то еще, что мы делаем запрос работающим, но единственный дочерний элемент, заполненный в коллекции, - это сотрудник, который соответствует id = X.

Неважно, если я сделаю getSize или что-то еще, коллекция никогда не будет заполнена реальными данными, я имею в виду 3 или 4 сотрудника.

Это очень странная проблема, и, честно говоря, я никогда не сталкивался с этим в прошлом.

Любая помощь будет оценена.

Спасибо.

Ответы [ 2 ]

1 голос
/ 05 октября 2011

Вы когда-нибудь пытались использовать Hibernate.initialise (прокси)?

Метод инициализации инициирует прокси-объект.

0 голосов
/ 05 октября 2011

Чтобы увидеть, что происходит, выполните следующие действия:

  1. Настройте Hibernate для вывода генерируемого SQL.Посмотрите, что на самом деле запрашивает.
  2. Если это не поможет, перейдите на сервер, регистрирующийся в DEBUG, и посмотрите, что Hibernate выплевывает.
  3. Если это все еще не помогает, присоедините Hibernate.исходники для Eclipse и пошаговая отладка.
...