У меня есть свойство объекта домена, которое объявлено в элементе «многие к одному». Основной синтаксис этого свойства выглядит следующим образом:
<many-to-one name="propertyName" class="propertyClass" fetch="select" not-found="ignore" lazy="proxy" />
Теперь идея состоит в том, чтобы Hibernate НЕ охотно получал это свойство. Может быть нулевым, поэтому игнорируемое значение установлено.
Но Hibernate после загрузки класса, содержащего эту ассоциацию, берет на себя загрузку фактического экземпляра класса (даже не прокси), когда загружается родительский класс. Поскольку некоторые свойства имеют размер более 1 МБ, они занимают много места в куче.
Если, однако, not-found установлен как исключение (или по умолчанию исключение), родительские классы, имеющие это свойство, загружают прокси!
Как я могу остановить спящий режим, чтобы не загружать прокси, но при этом разрешить этому свойству быть нулевым?
Я нашел lazy = no-proxy, но в документации говорится о какой-то модификации байт-кода и не вдаваться в подробности. Кто-нибудь может мне помочь?
Если это имеет значение, то это Java-версия Hibernate, и это по крайней мере версия 3 (я могу посмотреть реальную версию, если она поможет, но пока это Hibernate 3+).
Я не указывал ранее, но версия Java 1.4. Итак, аннотации Java не поддерживаются.