O meu problema é bem simples e ao mesmo tempo bem complicado. Trabalho com PostgreSQL e como todos sabem ele é bem chatinho com acentuação… ai que está o problema , quero fazer uma JPQL que localize o ‘João’ porem no banco está cadastrado ‘Joao’ , ou seja , quero ignorar a acentuação…
pois bem… como fazer isso usando JPQL , existe alguma forma de fazer o postgresql ignorar sozinho no select direto ? (no estilo do mysql)
Estou quase desistindo dele como BD , poiis fazer NATIVAMENTE tenho que ficar xunxando com funcoes que COM CERTEZA vai deixar a aplicação mais lenta…
Quando voce for fazer seu select, basta voce usar esse método.
Um exemplo:
query.createQuery("SELECT c FROM Cliente c WHERE "+toCaseAndAccentInsensitive("c.nome")+" LIKE "+toCaseAndAccentInsensitive(NOME)+"");
R
rof20004
Voce pode colocar esse metodo como static e chama-lo de outra classe, esse metodo alem de ignorar acentos, ignora tambem case sensitive, ou seja, maiusculas e minusculas.
H
Hebert_Coelho
Pq você não altera o parâmetro antes de enviá-lo?
Bastaria criar um método e utilizá-lo em todo lugar…
D
DaniloAndrade
será que não daria pra usar a função REGEXP do jpa
H
Hebert_Coelho
DaniloAndrade:
será que não daria pra usar a função REGEXP do jpa
Que função é essa do JPA? Nunca tinha ouvido falar não…
H
Hebert_Coelho
Hebert Coelho:
DaniloAndrade:
será que não daria pra usar a função REGEXP do jpa
Que função é essa do JPA? Nunca tinha ouvido falar não…
Uia, maneiro!
D
DaniloAndrade
eu nunca usei, mas acho que da pra montar uma solução elegante para o problema de acentuação usando essa função
D
DaniloAndrade
[quote=Hebert Coelho]
Hebert Coelho:
DaniloAndrade:
será que não daria pra usar a função REGEXP do jpa
Que função é essa do JPA? Nunca tinha ouvido falar não…
Uia, maneiro!
eh, talvez não seja uma boa ideia afinal :lol:
D
DaniloAndrade
parece que no eclipse link funfa tem que ver se é possivel no hibernate tambem usando ele como provider jpa
Cara, minha opinião, converte a string antes de jogá-la no select…fazer essas doideras pro SGBD cuidar geralmente gera um alto processamento.
Exemplo bobo:
Em coisas simples pode não aparecer, mas depende do tamanho do negócio, vish…f@** geral.
C
chun
Detalhe,
Em jpa nao posso manipular a query assim.
H
Hebert_Coelho
chun:
Detalhe,
Em jpa nao posso manipular a query assim.
upper pode.
Mas de novo… prefiro ainda alterar a string e depois mandar pra query. [=