| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/11/2010 09:30:47
|
israel.fonseca
JavaBaby
![[Avatar]](/images/avatar/b3d2a9a2985c5a32c669cc33c885e6c8.png)
Membro desde: 13/10/2007 15:11:19
Mensagens: 88
Localização: Tubarão - SC
Offline
|
Pessoal, acho que essa pergunta é velha, mas procurei documentações a rodo, e inclusive aqui no fórum e não achei resposta.
A questão é simples:
Como forçar outer joins em vez de selects separados para classes mapeadas com many to one? Tenho as seguintes classes:
Filho possui um pai associado.
A seguinte query: "select f from Filho f" gera 2 selects:
Forçando a query com um fetch join o resultado vem da maneira desejada : "select f from Filho f left join fetch f.pai"
Então pergunto, como faço que os many to ones sejam carregados por padrão com um outer join? Para grafos de objetos significativos apenas colocando fetchs fiz a consulta ficar 10x mais rápida. E até me pergunto o do porque este não ser o procedimento padrão. Em fim, já tentei usar as anotações @Fetch, @LazyToOne e não deu em nada. Li coisas referente a desativar proxies e afins, mas achei tudo muito sinistro.
Alguém saberia me dizer o que fazer?
Obrigado.
|
http://israelfonseca.blogspot.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/11/2010 10:13:36
|
maior_abandonado
JWizard
![[Avatar]](/images/avatar/0d7c463832b871c20405a6c9296b5517.jpg)
Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline
|
da uma pesquisada na anotação @Fetch, com ela vc escolhe entre fazer join um select separado ou uma subquery
|
espero ter ajudado...
falando nisso, caso seu problema tenha sido resolvido, edite o seu primeiro post e coloque um [RESOLVIDO] no titulo do tópico.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/11/2010 16:28:44
|
israel.fonseca
JavaBaby
![[Avatar]](/images/avatar/b3d2a9a2985c5a32c669cc33c885e6c8.png)
Membro desde: 13/10/2007 15:11:19
Mensagens: 88
Localização: Tubarão - SC
Offline
|
Opa, descobri. Parece que a HQL ta acima da lei, e por padrão ela faz selects extras, diferente de Criteria que da preferencia a Joins.
|
http://israelfonseca.blogspot.com/ |
|
|
 |
|
|
|
|