Olá, pessoal.
Tenho o seguinte código que funciona parcialmente só da problema com números.
predicates.add(criteriaBuilder.like((Expression) entity.get(field), "%" + filterLike.getQuery() + "%" ));
Para funcionar com números tentei adicionar um cast, porém passou a gerar uma exceção que mostro a seguir.
predicates.add(criteriaBuilder.like((Expression) entity.get(field)[b].as(String.class)[/b], "%" + filterLike.getQuery() + "%" ));
Exceção:
org.hibernate.hql.ast.QuerySyntaxException: expecting CLOSE, found '(' near line 1, column 130 [select generatedAlias0 from br.mil.mar.casnav.jc3iedm.item.Airfield as generatedAlias0 where ( cast(generatedAlias0.id as varchar(255)) like :param0 ) and ( generatedAlias0.nameTxt like :param1 ) order by generatedAlias0.id asc]
Obs.: A query apresentada na exceção funciona corretamente.
Vi neste seite: http://stackoverflow.com/questions/4269389/using-jpa-2-0-criteria-api-and-cast-causes-generated-jpql-to-fail-in-hibernate, que isto é bug do hibernate. Será que é um bug mesmo? Tem alguma forma de contornar?
Já estou ficando louco, conto com a ajuda de vocês!
[]s
