6
respostas

Hibernate.initialize

O que este metódo faz ?

Quando devo utilizar ele ?

6 respostas

Fala ai Guilherme, tudo bem ?

Pelo pouco que li, vi que ele carrega alguns objetos com listas de maneira Eager.

Pelo que vi, ele faz isso fora do escopo da sessão, então pode ser usado para coisas no escopo de aplicação.

Mas nunca vi isso em algum sistema.

Correto. Isto eu entendi.

Seria assim:

Sendo que a, fez uma consulta no banco.

c depende de b que depende de a

Hibernate.initialize(a); Hibernate.initialize(a.b); Hibernate.initialize(b.c);

É isto ?

Todas as ligações são do tipo LAZY

Pelo que li, ele vai fazer todas as chamadas para você, se você fizer a inicialização para a, ele já chama b e c instantaneamente.

Pelo que li foi Eager, posso estar errado.

Porque o EAGER, já não traz tudo ?

Sim sim, já trás tudo sim, exatamente

Então tem que ser lazy