Pesquisa de palavras acentuadas

Alguém sabe me dizer como fazer pra fazer uma pesquisa no hibernate independente da palvra estar acentuada ou não?

Tipo
select p from Pessoa p where p.nome ilike ‘%jose%’

possa retornar tanto pessoas com nome jose quanto josé

E ae,

Caso o database seja o Oracle o modo mais facil de fazer isso e que lhe traz um bom resultado é substituir o caracter acentuado por _ (underline) o underline diz para a consulta que naquele lugar pode existir qualquer caracter.

Por exemplo: José

SELECT .... FROM NOMES WHERE NOME = 'jos_'

Sua consulta retornaria Jose e José, o unico problema é q caso existe um Josa, Josc, Josq, Jos1, ele irá trazer também !

Mas com Oracle esse é o jeito mais simples de fazer algo assim.

A outra maneira seria identidicar o caracter acentuado e adicionar a consulta todas as possibilidades:

SELECT .... FROM NOMES WHERE (NOME = 'jose' OR NOME = 'josé' OR NOME = 'josê' 
OR NOME = 'josë' OR NOME = 'josè'...)

[]s

Cara, o BD é Postgres, então essa do underline não deve funcionar. No postgres eu vi que dá pra fazer usando a função translate. Mas eu queria fazer isso com o HQL do hibernate e não escrever direto no sql

Mesmo assim valeu pela dica