lentidão hibernate

5 respostas
P

Tenho uma entidade no sistema que tem relacionamento com variás outras. Vários one-to-one e alguns poucos one-to-many (estão mapeados com FetchType.LAZY).

Quando carrego essa entidade o hibernate monta um select absurdo com mais de 1000 linhas. É tanto outter join que dá medo.

Será que estou esquecendo de configurar alguma coisa? Ou simplesmente não tem jeito?

Desde já, grato!

5 Respostas

P

Ah, esqueci de comentar que ele retorna tanta coisa desnecessaria que estoura o numero max. de colunas permitidas pelo banco.

Alexandre_Saudate

E os One-To-One, estão configurados como Lazy ? De qualquer maneira, você sempre pode configurar caches de primeiro e segundo nível para agilizar a coisa (use um ehCache da vida).

[]´s

P

então cara, não estão mapeados não…
eu acabei marcando eles com @Fetch(FetchMode.SELECT) e ajudou bastante

leandronsp

Verdade. O Fetch ajuda bastante mesmo. Tenta tbm fazer uma query nativa, pode melhorar ainda mais

P

mas se eu começar a trabalhar com query nativa eu fecho minha aplicação voltada somente pra um banco (não pensando na linguagem sql padrão)… ou vou ter que começar a fazer coisas especificas pra cada banco…dai o hibernate acaba mais complicando do que ajudando…
atualmente o sistema roda em sql server e oracle

Criado 11 de fevereiro de 2010
Ultima resposta 14 de fev. de 2010
Respostas 5
Participantes 3