Olá turma,
Estou com uma uma duvida em uma consulta usando critéria. Quando executo a consulta da linha 1 a 4, o processo é concluído com sucesso. Porém eu preciso chamar uma função do BD (minha_funcao), aí comento a linha 4 e executo a consulta da linha 1 a 5. Ocorre um erro: “ERROR: invalid reference to FROM-clause entry for table “estado””. Observando o sql gerado, verifiquei que o Hibernate gera um alias para o estado (estado1_) e não consegue colocar esse alias na expressão: ‘minha_funcao(estado.sigla) …’. e por isso ocorre.
Alguém tem ideia de como resolver? Existe outra forma de chamar uma função do BD?
Session session = (Session) em.getDelegate();
Criteria criteria = session.createCriteria(Cidade.class, "cidade");
criteria.createCriteria("cidade.estado","estado");
criteria.add(Expression.eq("estado.sigla", "CE"));
criteria.add(Restrictions.sqlRestriction("minha_funcao(estado.sigla) like minha_funcao(?)", "CE", Hibernate.STRING));
