| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/12/2006 12:48:36
|
Rodrigo Manhães
JavaGuru
![[Avatar]](/images/avatar/3e9f7c16bd1cdea78f8e2eea72dfdfbe.png)
Membro desde: 14/07/2005 17:07:07
Mensagens: 242
Localização: Campos dos Goytacazes/RJ
Offline
|
Bom dia a todos,
uso a dobradinha Hibernate/Firebird para persistência e tenho enfrentado problemas com a geração de código SQL pelo Hibernate.
O código a seguir
, onde getBOClass() retorna a classe do POJO, field contém o nome do atributo e value o valor a ser buscado, gera um erro, conforme o log do JBoss abaixo:
O problema reside na fato de o Hibernate tentar aplicar uma função não suportada pelo Firebird. Não conheço bem a arquitetura do Hibernate, mas isto me parece ser um bug, pois se é informado ao Hibernate o SGBD sendo utilizado, as especificidades deveriam ser tratadas. No caso do Firebird, o operador CONTAINING seria ideal para o caso, funcionando inclusive para BLOBs (a função UPPER, por exemplo, que eu poderia forçar através de código HQL, não é suportada para BLOBs).
Gostaria de saber se é possível customizar a geração de SQL de modo que referências a ignoreCase fossem remetidas ao operador CONTAINING em lugar da função LOWER.
|
https://github.com/rodrigomanhaes
http://programacaoradical.blogspot.com |
|
|
 |
|
|
|
|
|
|