| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/01/2011 11:22:12
|
marcosalex
GUJ Expert
![[Avatar]](/images/avatar/0a8f8b227be2d04a675082cc9d51c127.jpg)
Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline
|
Tenho de usar o Hibernate com o MS Access e estou tendo um problema: quando tenho uma entidade com mais de um relacionamento, as querys nao funcionam. Configurando pro hibernate mostrar o SQL, vi que o framework monta um sql utilizando multiplos joins, mais ou menos assim:
select a.col1,
a.col2,
b.col1,
b.col2,
c.col1
from tabela1 a
left outer join tabela2 b on a.col1 = b.col1
left outer join tablela3 c on a.col1 = b.col1
só que o Acess não aceita essa sintaxe, você deve colocar entre parênteses os joins
select a.col1,
a.col2,
b.col1,
b.col2,
c.col1
from tabela1 a
left outer join (tabela2 b
left outer join tablela3 c on a.col1 = b.col1)
on a.col1 = b.col1
Minha dúvida: existe alguma forma de mudar a sintaxe que o Hibernate utiliza pra montar as querys? Estou tendo de fazer chamados em SQL puro toda vez que isso acontece, está ficando contraprodivo...
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/01/2011 14:28:31
|
pablouu
Thread.start()
![[Avatar]](/images/avatar/c8e74ee1a070396e83e9ca3f1cd868e9.jpg)
Membro desde: 27/04/2009 19:35:47
Mensagens: 46
Offline
|
O dialeto que vc está usando está correto?
|
Sun Certified Java Programer 6.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2011 12:15:46
|
marcosalex
GUJ Expert
![[Avatar]](/images/avatar/0a8f8b227be2d04a675082cc9d51c127.jpg)
Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline
|
pablouu wrote:O dialeto que vc está usando está correto?
Tive de criar um dialeto porque não encontrei uma classe gratuita.
Aliás, criar não, encontrei na Net, acho que foi até aqui no GUJ. Mas como ele herda quase tudo de um genérico, não implementa essa parte e não encontrei uma referência de como deveria sobrescrever pra atender, ou sei isso é complexo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/01/2011 16:09:48
|
felipeguerra
GUJ Ranger
Membro desde: 26/03/2007 16:36:54
Mensagens: 987
Localização: São Paulo
Offline
|
Hibernate com Access?
A vida de programador é sofrida...
|
"Antes da iluminação cortar lenha, carregar água. Depois da iluminação cortar lenha, carregar água..." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2011 09:32:33
|
marcosalex
GUJ Expert
![[Avatar]](/images/avatar/0a8f8b227be2d04a675082cc9d51c127.jpg)
Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline
|
felipeguerra wrote:Hibernate com Access?
A vida de programador é sofrida...
Pois é, o cúmulo do absurdo, mas tenho um cliente que é apaixonado pelo Access e não abre mão.
O dialeto que criei pro Access, foi esse:
http://www.guj.com.br/java/27514-duvidas-hibernate
Funciona, com o único detalhe que você não pode ativer o SQL Comment do hibernate, porque o Access se confunde com os comentários e fala que o comando é inválido.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/01/2011 11:39:49
|
marcosalex
GUJ Expert
![[Avatar]](/images/avatar/0a8f8b227be2d04a675082cc9d51c127.jpg)
Membro desde: 20/02/2008 12:32:59
Mensagens: 3371
Offline
|
Só pra deixar documentado no tópico caso alguem venha pesquisar nele, pro dialeto funcionar é preciso sobrescrever o método transformSelectString.
Encontrei o exemplo listado abaixo,mas ele não conseguiu formatar corretamente, precisa ser melhorado.
Como meu projeto está atrasado, eu tinha duas opções: quebrava a cabeça nesse dialeto pra conseguir usar o Hibernate na sua plenitude ou chutava o balde e diminuia as referencias à relacionamentos nos meus pojos e usava SQL puro quando necessário.
Acabou que preferi esquecer o dialeto porque corria o risco de demorar demais pra arrumá-lo e estourar o projeto, mas assim que tiver tempo, posto a solução completa. Ou se alguém estiver a fim de tentar, pelo menos dei o caminho das pedras.
This message was edited 1 time. Last update was at 14/01/2011 11:40:36
|
|
|
 |
|
|
|
|