Galera,
Eu uso muito o lazy load do hibernate, como eu acho que muita gente faz aqui. Mas, nas situações em que o banco de dados está no servidor diferente do servidor web isso não fica muito oneroso?
Alberto
Galera,
Eu uso muito o lazy load do hibernate, como eu acho que muita gente faz aqui. Mas, nas situações em que o banco de dados está no servidor diferente do servidor web isso não fica muito oneroso?
Alberto
Hummm pq ? Não seria justamente o contrário ?
Não entendi velho, como assim justamente o contrario?
Alberto
A função do lazy é justamente evitar acesso desnecessário ao banco.
Considerando que seja mais oneroso acessar um banco remoto invés de
um local, concorda que quanto menor for o acesso mais rápido seria.
Em outras palavras, quanto mais custoso for o acesso ao BD, mais interessante é utilizar o lazy.
Alberto, entendi seu problema.
Pessoa p = session.get…
É oneroso se você deixar de inicializar as associações que precisa antes de retornar o objeto.
é justamente isso, eu geralmente deixo no lazy mas por exemplo, tem associações que só uso numa tela, mas nessa tela eu uso umas 3 aí justamente nesse ponto meu desempenho foi por agua a baixo. Alguma sugestão?
Alberto
Inicialize os relacionamento na mesma transação.
Aqui uma forma adequada, seção 14.2:
http://www.hibernate.org/hib_docs/reference/en/html/performance.html
Valeu Lipe, o lance do batch-size parece ser a melhor opção para essa situação, vou fazer uns testes para ver como fica.
Alberto
Desculpem a ignorância mas o que o lazy load do hibernate se propõe a fazer?
Obrigado
Basicamente, carregar os objetos somente quando eles forem necessários.