Mas o problema é saber se o relacionamento está INICIALIZADO quando este é de 1–N ou N–N, no exemplo seria saber se o SET de Endereco está Inicializado, ou seja, se foi dado o fetch.
Rpz, eu faço o seguinte:
Quando o hibernate representa um relacionamento de forma Lazy, ele cria uma sub-classe do verdadeiro tipo do relacionamento. Então o que tu deve checar é se o tipo do valor que a associação possui é uma subclasse to tipo horiginal. Eu faço isso ou usando o método isAssignableFrom de java.lang.Class
[quote=LuksS]Rpz, eu faço o seguinte:
Quando o hibernate representa um relacionamento de forma Lazy, ele cria uma sub-classe do verdadeiro tipo do relacionamento. Então o que tu deve checar é se o tipo do valor que a associação possui é uma subclasse to tipo horiginal. Eu faço isso ou usando o método isAssignableFrom de java.lang.Class[/quote]
pois é, essa subclasse é o Proxy que eu falei… isso funciona no relacionamento de 1-1, mais quando é um SET (1-N) eu não sei como o hibernate trata isso…
sei que ele cria um PersistenSet, mas ele cria isso sempre, mesmo sendo o lazy true ou false…
Toda vez que eu acesso a coleção (.size() , ou isEmpty()) ele da um select…