Olá para todos, eu estou iniciando um estudo de hibernate + jpa + postgres, obtive o tutorial da Rafaela e fui fazer um exemplo, os erros foram surgindo, falta de jar, arquivo no lugar errado, mas nesse erro do log abaixo eu empaquei.
Saliento que eu já criei no pgAdmin o hibernate_sequence, vi vários mensagens antigas, mas não consegui ainda.
Desde já agradeço quem puder ajudar.
2008-03-10 15:36:53 INFO [main] (Version.java:15) - Hibernate Annotations 3.3.0.GA
2008-03-10 15:36:53 INFO [main] (Environment.java:514) - Hibernate 3.2.5
2008-03-10 15:36:53 INFO [main] (Environment.java:547) - hibernate.properties not found
2008-03-10 15:36:53 INFO [main] (Environment.java:681) - Bytecode provider name : cglib
2008-03-10 15:36:53 INFO [main] (Environment.java:598) - using JDK 1.4 java.sql.Timestamp handling
2008-03-10 15:36:53 INFO [main] (Configuration.java:1426) - configuring from resource: hibernate.cfg.xml
2008-03-10 15:36:53 INFO [main] (Configuration.java:1403) - Configuration resource: hibernate.cfg.xml
2008-03-10 15:36:53 INFO [main] (Configuration.java:1541) - Configured SessionFactory: null
2008-03-10 15:36:53 INFO [main] (AnnotationBinder.java:398) - Binding entity from annotated class: br.com.jeebrasil.hibernate.anotacoes.dominio.Aluno
2008-03-10 15:36:54 INFO [main] (EntityBinder.java:420) - Bind entity br.com.jeebrasil.hibernate.anotacoes.dominio.Aluno on table aluno
2008-03-10 15:36:54 INFO [main] (AnnotationConfiguration.java:350) - Hibernate Validator not found: ignoring
2008-03-10 15:36:54 INFO [main] (DriverManagerConnectionProvider.java:41) - Using Hibernate built-in connection pool (not for production use!)
2008-03-10 15:36:54 INFO [main] (DriverManagerConnectionProvider.java:42) - Hibernate connection pool size: 10
2008-03-10 15:36:54 INFO [main] (DriverManagerConnectionProvider.java:45) - autocommit mode: false
2008-03-10 15:36:54 INFO [main] (DriverManagerConnectionProvider.java:80) - using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost:5432/jeeBrasil
2008-03-10 15:36:54 INFO [main] (DriverManagerConnectionProvider.java:86) - connection properties: {user=postgres, password=****}
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:89) - RDBMS: PostgreSQL, version: 8.2.5
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:90) - JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 8.3devel JDBC3 with SSL (build 601)
2008-03-10 15:36:54 INFO [main] (Dialect.java:152) - Using dialect: org.hibernate.dialect.PostgreSQLDialect
[color=red]Exception in thread “main” org.hibernate.exception.SQLGrammarException: could not get next sequence value
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:96)
at org.hibernate.id.SequenceHiLoGenerator.generate(SequenceHiLoGenerator.java:58)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:99)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519)
at br.com.jeebrasil.hibernate.anotacoes.testes.Listagem12.main(Listagem12.java:39)
Caused by: org.postgresql.util.PSQLException: ERROR: relation “hibernate_sequence” does not exist
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1547)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1315)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:190)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:75)
… 11 more[/color]
2008-03-10 15:36:54 INFO [main] (TransactionFactoryFactory.java:31) - Using default transaction strategy (direct JDBC transactions)
2008-03-10 15:36:54 INFO [main] (TransactionManagerLookupFactory.java:33) - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:143) - Automatic flush during beforeCompletion(): disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:147) - Automatic session close at end of transaction: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:154) - JDBC batch size: 15
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:157) - JDBC batch updates for versioned data: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:162) - Scrollable result sets: enabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:170) - JDBC3 getGeneratedKeys(): disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:178) - Connection release mode: auto
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:205) - Default batch fetch size: 1
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:209) - Generate SQL with comments: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:213) - Order SQL updates by primary key: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:217) - Order SQL inserts for batching: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:386) - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
2008-03-10 15:36:54 INFO [main] (ASTQueryTranslatorFactory.java:24) - Using ASTQueryTranslatorFactory
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:225) - Query language substitutions: {}
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:230) - JPA-QL strict compliance: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:235) - Second-level cache: enabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:239) - Query cache: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:373) - Cache provider: org.hibernate.cache.NoCacheProvider
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:254) - Optimize cache for minimal puts: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:263) - Structured second-level cache entries: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:283) - Echoing all SQL to stdout
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:290) - Statistics: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:294) - Deleted entity synthetic identifier rollback: disabled
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:309) - Default entity-mode: pojo
2008-03-10 15:36:54 INFO [main] (SettingsFactory.java:313) - Named query checking : enabled
2008-03-10 15:36:54 INFO [main] (SessionFactoryImpl.java:161) - building session factory
2008-03-10 15:36:54 INFO [main] (SessionFactoryObjectFactory.java:82) - Not binding factory to JNDI, no JNDI name configured
Hibernate: select nextval (‘hibernate_sequence’)
2008-03-10 15:36:54 WARN [main] (JDBCExceptionReporter.java:77) - SQL Error: 0, SQLState: 42P01
2008-03-10 15:36:54 ERROR [main] (JDBCExceptionReporter.java:78) - ERROR: relation “hibernate_sequence” does not exist
A classe é esta:
package br.com.jeebrasil.hibernate.anotacoes.dominio;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
// Anotação que informa que a classe mapeada é persistente
@Entity
// Informando nome e esquema da tabela mapeada
@Table(name = "aluno", schema = "anotacoes")
@SequenceGenerator(name = "hibernate_sequence", sequenceName = "hibernate_sequence")
public class Aluno {
private int id;
private int matricula;
private String nome;
private long cpf;
// Definição da chave primária
@Id
// Definição do mecanismo de definição da chave primária
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="hibernate_sequence")
// Informa o nome da coluna mapeada para o atributo
@Column(name = "id_aluno")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getMatricula() {
return matricula;
}
public void setMatricula(int matricula) {
this.matricula = matricula;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public long getCpf() {
return cpf;
}
public void setCpf(long cpf) {
this.cpf = cpf;
}
public void Aluno() {
}
}