Erro Pesquisa por chave primaria serial

2 respostas
L

Estou tento dificuldades ao fazer pesquisa por chave primaria serial , a chave primaria que está sendo enviada por hql é um int.
banco de dados usando Postgres

Erro retornado
2130/04/2012 21:05:07 org.hibernate.util.JDBCExceptionReporter logExceptions
AVISO: SQL Error: 0, SQLState: 42883
30/04/2012 21:05:07 org.hibernate.util.JDBCExceptionReporter logExceptions
GRAVE: ERRO: operador não existe: integer ~~ unknown                                 //essa linha me chamou atenção
Exception occurred during event dispatching:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
Consulta HQL
consulta = "FROM Pessoas p WHERE p.idpessoas like'%"+ID+"%'

Objeto pessoas com com a parte relativa a Pessoasid

private int idpessoas;

       public Pessoas(int idpessoas) {
        this.idpessoas = idpessoas;

    public int getIdpessoas() {
        return this.idpessoas;
    }
    
    public void setIdpessoas(int idpessoas) {
        this.idpessoas = idpessoas;

Procurei e localizei um bug do postgres quanto a o erro SQLState: 42883, mas se fazer a procura por SQL normal com código equivalente funciona ok,

alguem tem alguma idéia ?
Grato.

2 Respostas

Hebert_Coelho

Pq vc ta comparando o id com like??

pq não p.idpessoas = :idade? E depois seta o parametro?

OBS.: Não concatene sua String do sql, isso é má pratica.

L

Obrigado segui o conselho de não concatenar direto na string e usar uma query para tal.

Criado 30 de abril de 2012
Ultima resposta 2 de mai. de 2012
Respostas 2
Participantes 2