Como impedir que o Hibernate busque ansiosamente um objeto associado muitos-para-um

Eu tenho uma propriedade em um objeto de domínio que é declarado em um elemento muitos-para-um. A sintaxe básica desta propriedade é semelhante a esta:

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

Agora, a idéia é fazer com que o Hibernate NÃO busque essa propriedade com entusiasmo. Pode ser nulo, portanto, o ignorar não encontrado está definido.

Porém, o Hibernate, ao carregar a classe que contém essa associação, decide carregar a instância da classe real (nem mesmo um proxy) quando a classe pai é carregada. Como algumas propriedades têm mais de 1 MB de tamanho, elas ocupam muito espaço no heap.

Se, no entanto, não encontrado for definido como exceção (ou padronizado como exceção), as classes pai que possuem essa propriedade carregarão um proxy!

Como posso parar o hibernate de não carregar um proxy, enquanto ainda permito que esta propriedade seja nula?

Achei preguiçoso = sem proxy, mas a documentação fala sobre algum tipo de modificação de bytecode e não entra em detalhes. Alguém pode me ajudar?

Se isso importa, é a versão Java do Hibernate e é pelo menos a versão 3 (posso procurar a versão real, se ajudar, mas é o Hibernate 3+ por enquanto).

Eu não especifiquei anteriormente, mas a versão Java é 1.4. Portanto, as anotações Java não são suportadas.

questionAnswers(5)

yourAnswerToTheQuestion