REGEXP no Hibernate

3 respostas
R

Ae pessoal,

Estou usando o Hibernate com MySQL e preciso utilizar um REGEXP na minha query, o problema é que quando eu faço:

Query select = sessao.createQuery(" from Usuario u WHERE u.tipo_usuario = 1 AND u.nome REGEXP '^"+ letra +"'");

O hibernate não reconhece o REGEXP como token. Nesse caso, como eu faço uma constula que “deveria” ter o REGEXP?

Obrigado

3 Respostas

T

http://opensource.atlassian.com/projects/hibernate/browse/HB-1034

T

Eu imagino que seja o seguinte (não sou “hard user” do Hibernate, só do Google :stuck_out_tongue: ): embora não esteja indicado na documentação, é possível usar RLIKE ou REGEXP. Só que deve haver algum segredinho para usar isso, e como é um patch meio antigo, é bom dar uma olhada nos fontes do Hibernate para ver como é que realmente se usa isso. (Pode ser que o patch tenha sido removido :frowning: )

R

Na verdade esse patch existe ainda, acho que é a classe WhereParser. Eu cheguei a achar algumas referencias a ela mas eu não entendi direito como usa-lo.

Não sei se esse link ta atualizado, mas parece que a implementação é essa http://kickjava.com/src/org/hibernate/hql/classic/WhereParser.java.htm

Queria ver se alguém tinha uma explicação mais direta pra isso. Valeu pela ajuda, se eu descobrir como fazer eu posto aqui.

Criado 4 de março de 2008
Ultima resposta 4 de mar. de 2008
Respostas 3
Participantes 2