Как помешать Hibernate активно загружать связанный объект

У меня есть свойство объекта домена, которое объявлено в элементе «многие к одному». Основной синтаксис этого свойства выглядит следующим образом:

<many-to-one name="propertyName" class="propertyClass" fetch="select" not-found="ignore" lazy="proxy" />

Теперь идея состоит в том, чтобы Hibernate НЕ охотно получал это свойство. Может быть нулевым, поэтому игнорируемое значение установлено.

Но Hibernate при загрузке класса, содержащего эту ассоциацию, берет на себя загрузку фактического экземпляра класса (даже не прокси), когда загружается родительский класс. Поскольку некоторые свойства имеют размер более 1 МБ, они занимают много места в куче.

Однако, если для not-found установлено исключение (или значение по умолчанию - исключение), родительские классы, имеющие это свойство, загружают прокси!

Как я могу остановить спящий режим, чтобы он не загружал прокси, при этом позволяя этому свойству иметь значение null?

Я нашел lazy = no-proxy, но документация говорит о какой-то модификации байт-кода и не вдавалась в подробности. Кто-нибудь может мне помочь?

Если это имеет значение, то это Java-версия Hibernate, и это как минимум версия 3 (я могу посмотреть актуальную версию, если она поможет, но пока это Hibernate 3+).

Я не указывал ранее, но версия Java 1.4. Итак, аннотации Java не поддерживаются.

Ответы на вопрос(6)

Ваш ответ на вопрос