Поскольку вы используете инструментарий байт-кода вместо прокси-сервера ассоциации (почему?), Вам нужно указать в запросе «извлечь все свойства»:
from Gig g fetch all properties ...
Подробности здесь
Обновление: Ваше отображение gigVenue
устанавливает lazy
в no-proxy
. Это означает, что свойство будет иметь значение NULL до его первого доступа через метод getter. Это делается с помощью инструментария байт-кода и не является тем, что обычно используется. Использование HQL join fetch
НЕ заполняет такое свойство; Вы должны явно указать fetch all properties
, как я описал выше.
Рассмотрите возможность установки lazy="proxy"
вместо этого (это фактически значение по умолчанию для многих к одному), которое инициализирует ваше свойство с прокси-объектом, содержащим идентификатор gigVenue
во время первоначального выбора, а затем извлекает фактическую сущность, как только вы получаете доступ к одному из GigVenue
методы. Использование join fetch
в HQL также будет работать в этом случае, извлекая полный экземпляр GigVenue
во время первоначального выбора.
На этой ноте настройка fetch="select"
также сомнительна; вам, скорее всего, лучше оставить значение по умолчанию join
, чтобы разрешить использование внешних объединений для извлечения.