Hibernate

Estou iniciando o uso do hibernate e estou com o seguinte erro que não consigo resolver:

Exception in thread “main” org.hibernate.exception.SQLGrammarException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at teste.Insere.main(Insere.java:22)
Caused by: java.sql.BatchUpdateException: Batch entry 0 insert into Pessoa (nome, email, senha, idPessoa) values (Marcelo Oliveira, marcelooliveiramail@yahoo.com.br, qsz157, 14) was aborted. Call getNextException to see the cause.
at org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2497)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1298)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:347)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2559)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:58)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:195)
… 8 more

Estou utilizando Postgre, NetBeans e Hibernate 3.1.

O arquivos são os seguintes:

POJO:

package teste;

public class Pessoa {

private int id;
private String nome;
private String email;
private String senha;

public Pessoa() {
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getSenha() {
    return senha;
}

public void setSenha(String senha) {
    this.senha = senha;
}

}

Mapeamento:

<?xml version="1.0"?> teste_idpessoa_seq

Configuração:

<?xml version="1.0" encoding="utf-8"?> org.postgresql.Driver jdbc:postgresql://localhost:5432/Hibernate org.hibernate.dialect.PostgreSQLDialect postgres postgres true 10
            <mapping resource="teste/Pessoa.hbm.xml"/>
</session-factory>

Main:

package teste;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class Insere {

public static void main(String[] args) {
    
    SessionFactory sf = new Configuration().configure().buildSessionFactory();
    Session sessao = sf.openSession();
    Transaction tx = sessao.beginTransaction();
        
    Pessoa pessoa = new Pessoa();
    pessoa.setNome("Marcelo Oliveira");
    pessoa.setEmail("marcelooliveiramail@yahoo.com.br");
    pessoa.setSenha("qsz157");
    
    sessao.save(pessoa);
    tx.commit();
    sessao.close();
    
}

}

Marcelo,

:arrow: Essa classe está relacionada com alguma outra?
:arrow: Já tentou limpar a tabela e tentar executar o Hibernate?
:arrow: O generator do Postgre está funcionando legal?

Quando tive esse erro era o trigger do firebird que estava tentando inserir um id que já existia na tabela (eu reiniciei o trigger de auto numeração e não limpei a tabela :slight_smile: )

Glaucio,

A classe não tem relacionamento com outras classes.
A tabela esa vazia.
O generator do Postgre tá ok.