Eu tinha visto isso. de qualquer forma o objeto User é carregado
com todas as informações, mas está ótimo!
Obrigado!
Abraço
ricardolecheta
quando fazer o load, cuidado se a tabela tiver muitos relacionamentos…
se o mapping file não estiver bem configurado o Hibernate consultará tudo e não só esta tabela
tads
O pior é q vai buscar de algumas outras tabelas, como por exemplo
ded department, perfil.
Daniel_Quirino_Olive
Use “lazy loading” para os relacionamentos. Assim só vai ser carregado o que fizer parte da tabela “User”, enquanto os dados referentes aos relacionamento são carregados meio que “on-demand”.
tads
E ai Daniel, tudo beleza?
Deixa eu ver se eu entendi. Fazendo lazy=loading
Os dados dos objetos os quais o objeto User se relaciona,
somente serão carregados quando eu precisar ???
“on-demand” seria isso???
É sempre bom colocar lazy=loading???
Valew pela atenção!!!
abraço
Daniel_Quirino_Olive
O parâmetro de lazy-loading (ou lazy-initialization, nunca me lembro direito) deve ser declarado no relacionamento cujo carregamento deve ser feito “on-demand”.
É algo mais ou menos assim:
Sobre o “on-demand”, é exatamente isso o que você entendeu.
M
mtakeda
Mas então, o problema é mais abaixo.
Se minha tabela tiver muitos relacionamentos e eu precisar alterar alguma coisa em uma das tabelas relacionadas, o desempenho irá cair.
Exemplo: suponha que o departamento tenha uma Collection e que essa Collection seja relacionada com os empregados. Suponha que o objeto Empregado tenha diversos atributos, mas eu só quero modificar o atributo salário (dar um aumento pra todos os funcionários de um dado departamento, por exemplo). Então, quando eu carregar o departamento, ele vai ter que trazer todos os usuários e então eu vou iterar na coleção e ir alterando os salários e então salvar tudo de uma vez?
Isso não vai prejudicar o desempenho?
E se eu quisesse alterar o salário de apenas alguns usuários? Ainda teria que carregar todos os usuários do departamento?