Pessoal, tive o seguinte erro ao executar a pesquisa abaixo:
public Collection listByExame(long codexa)
{
Session session = null;
List lista = null;
try
{
session = HibernateUtil.getSession();
lista = session.createQuery("from Paciente paciente " +
"left join fetch paciente.exame exame " +
"where exame.codexa = ?")
.setString(0,String.valueOf(codexa))
.list();
HibernateUtil.closeSession();
} catch (HibernateException ex) {
throw new PersistenceException(ex);
}
return lista;
}
09:12:55,843 WARN JDBCExceptionReporter:77 - SQL Error: 0, SQLState: 42883
09:12:55,843 ERROR JDBCExceptionReporter:78 - ERROR: operator does not exist: bigint = character varying
org.hibernate.exception.SQLGrammarException: could not execute query
Caused by: org.postgresql.util.PSQLException: ERROR: operator does not exist: bigint = character varying
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
Provavelmente tem a ver com o valor LONG em Java e o BIGINT no Postgre mas não consegui entender ainda. Alguém pode me ajudar?