CAST em HIBERNATE

Olá pessoal, eu estava fazendo uma consulta no banco utilizando hibernate, mas quando tentei usar um cast de int pra string ele esta dando erro “expecting CLOSE, found ‘varying’ near line 1, column 96”,
alguém sabe como eu poderia fazer?

minhas consultas :

SELECT e.* FROM produto e WHERE CAST(e.idprod as varchar) like '%555%';
SELECT e.* FROM produto e WHERE CAST(e.proddesc as character varying) like '%M%';

consultas no código:

TypedQuery<T> queryLike = em.createQuery("SELECT e FROM "+className
								+" e WHERE CAST(e."+box.getSelectedItem().toString().trim().toLowerCase()
								+" as character varying) like '%"+field.getText().toLowerCase()+"%'",classe);
						classes = queryLike.getResultList();

se alguem tiver uma sugestão de como poderia fazer isso, eu ficaria muito grato(obs: To usando essa conversão para poder pegar inteiro e String sem problemas, já que fiz uma classe genérica pra poder chamar em varias tabelas)

Já experimentou trocar isso por

as string

?

Lembre-se que JPQL ou HQL não são iguais ao SQL.
Documentação:
https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#hql-functions

eu acabei percebendo depois o erro que fiz kkkk, era isso mesmo, obrigado!!

1 curtida