Hibernate - Mecanismo de Geração de Chaves Primárias!

Tabela 1 - Mecanismo de Geração de Chaves Primárias


Mecanismo      Descrição
Identity       Mapeado para colunas identity no DB2, MySQL, MSSQL, Sybase,
               HSQLDM, Infomix.
Sequence       Mapeado em seqüências no DB2, PostgreSQL, Oracle, SAP DB,
               Firebird (ou generator no Interbase).
Increment      Lê o valor máximo da chave primária e incrementa um. Deve ser
               usado quando a aplicação é a única a acessar o banco e de
               forma não concorrente.
Hilo           Usa algoritmo high/low para geração de chaves únicas.
uudi.hex       Usa uma combinação do IP com um timestamp para gerar um
               identificador único na rede.
    Pois bem estou usando o Hibernate + PostgreSQL,  assim:
@Id
        @NotNull
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="men_id")   // chave primaria
	private Long id;

E ta funcionando, alguém sabe o por que ?

Eu sempre uso identity no postgres também. Apesar de não estar escrito na sua tabela 1, o Identity também gera sequencias para o Postgres.

ezambomsantana Bom dia !

Pois essa tabela tirei de um livro velho aqui da biblioteca do NUTEC…

Extranho !

Parece que em antigas versões o Postgre não suportava o Identity…mas não sei te dizer com certeza…

O que ele faz atualmente quando vc coloca identity no campo, é que quando ele cria a tabela, coloca o tipo do campo que é a chave primária como serial. O tipo serial cria automaticamente uma sequence.