[Resolvido] Problemas com Annotation + Hibernate e Herança

Já não sei onde está o problema, faço conforme os tutoriais e a saida de erro mostra uma coisa diferente, agora é isto:

SEVERE: ERRO: erro de sintaxe em ou próximo a "value"
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not get next sequence value

A saida completa:

init:
deps-jar:
compile:
27/09/2009 20:43:37 org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
27/09/2009 20:43:37 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
27/09/2009 20:43:37 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
27/09/2009 20:43:37 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
27/09/2009 20:43:37 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
27/09/2009 20:43:37 org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /Resources/hibernate.cfg.xml
27/09/2009 20:43:37 org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: Configuration resource: /Resources/hibernate.cfg.xml
27/09/2009 20:43:38 org.hibernate.cfg.AnnotationConfiguration addPackage
INFO: Mapping package introducaohibernate01
27/09/2009 20:43:38 org.hibernate.cfg.AnnotationBinder bindPackage
WARNING: Package not found or wo package-info.java: introducaohibernate01
27/09/2009 20:43:38 org.hibernate.cfg.Configuration doConfigure
INFO: Configured SessionFactory: null
27/09/2009 20:43:38 org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: introducaohibernate01.Professor
27/09/2009 20:43:38 org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity introducaohibernate01.Professor on table Professor
27/09/2009 20:43:38 org.hibernate.cfg.AnnotationBinder bindClass
INFO: Binding entity from annotated class: introducaohibernate01.Aluno
27/09/2009 20:43:38 org.hibernate.cfg.annotations.EntityBinder bindTable
INFO: Bind entity introducaohibernate01.Aluno on table Aluno
27/09/2009 20:43:38 org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
27/09/2009 20:43:38 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
27/09/2009 20:43:38 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 1
27/09/2009 20:43:38 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
27/09/2009 20:43:38 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost:5432/Banco
27/09/2009 20:43:38 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=postgres, password=****}
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: PostgreSQL, version: 8.3.8
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 8.3 JDBC3 with SSL (build 603)
27/09/2009 20:43:38 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.HSQLDialect
27/09/2009 20:43:38 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Using default transaction strategy (direct JDBC transactions)
27/09/2009 20:43:38 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
27/09/2009 20:43:38 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Echoing all SQL to stdout
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
27/09/2009 20:43:38 org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
27/09/2009 20:43:38 org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
27/09/2009 20:43:39 org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Hibernate: select next value for pessoa_id from dual_pessoa_id
27/09/2009 20:43:39 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: 42601
27/09/2009 20:43:39 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ERRO: erro de sintaxe em ou próximo a "value"
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:53)
        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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:301)
        at $Proxy11.save(Unknown Source)
        at introducaohibernate01.ProfessorDAO.salvarProfessor(ProfessorDAO.java:25)
        at introducaohibernate01.Main.main(Main.java:22)
Caused by: org.postgresql.util.PSQLException: ERRO: erro de sintaxe em ou próximo a "value"
        at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1592)
        at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1327)
        at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:192)
        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)
        ... 18 more
debug:
CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

A classe Pessoa:

@MappedSuperclass
public abstract class Pessoa implements Serializable {
@Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="pessoa_id")
    @SequenceGenerator(name = "pessoa_id", sequenceName = "pessoa_id", allocationSize =1)
    private Integer id;

A classe Professor:

@Entity
public class Professor extends Pessoa implements java.io.Serializable{
@Id
@PrimaryKeyJoinColumn(name="matricula")
@Column (name = "mat_professor")
    private Integer matricula;

A classe Aluno:

@Entity
public class Aluno extends Pessoa implements java.io.Serializable{
@Id
@PrimaryKeyJoinColumn(name="matricula")
@Column (name = "mat_aluno")
    private Integer matricula;

Meu Banco chamado “Banco” é este:

create table pessoa (
id serial not null,
nome varchar(80) not null,
data_nascimento date not null,
email varchar(45) not null,
endereco varchar(100) not null,
telefone varchar(20) not null,
cpf varchar(12) not null,
identidade varchar(15) not null,
constraint pk_id_pessoa primary key (id)
);

create table aluno(
mat_aluno integer not null,
ano_inicio date not null,
semestre_inicio integer not null,
constraint pk_matricula_aluno primary key (mat_aluno)
) inherits (pessoa);

create table professor(
mat_professor integer not null,
titulacao_maxima varchar(45) not null,
constraint pk_matricula_prof primary key (mat_professor)
) inherits (pessoa);

Alguém poderia dar uma força?

Valeu!

Alguém pode me dizer que tipo de erro é este?

Hibernate: select next value for id_pessoa from dual_id_pessoa
30/09/2009 01:22:45 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 0, SQLState: 42601
30/09/2009 01:22:45 org.hibernate.util.JDBCExceptionReporter logExceptions
SEVERE: ERRO: erro de sintaxe em ou próximo a "value"

Tenho a classe Pessoa desta forma:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Pessoa implements Serializable {
@Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id")
    @SequenceGenerator(name = "id", sequenceName = "id_pessoa", allocationSize =1)
    private Integer id;

Classe Professor:

@Entity
public class Professor extends Pessoa implements Serializable {

A classe Aluno:

@Entity
public class Aluno extends Pessoa implements Serializable {

O banco está da forma como postei mais acima.

Obrigado.

Resolvi!
Criei o banco e deixei vazio, configurei o hibernate para criar o banco e persistir, eis o resultado:

Abraço!