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