Utilizo hibernate com postgresql há alguns anos. Uma dificuldade que sempre tive nas ferramentas para geração dos antigos XML’s e, agora, as classes anotadas é a sequence.
Nenhuma ferramenta que utilizei até hoje trouxe solução para isso.
O resultado disso é alterar o tipo do id.
Sendo assim segue exemplo do XML e de um classe anotada utilizando as sequences do postgres.
No postgres foi criada a seguinte tabela:
PESSOA |
id serial nome varchar(50) |
SEQUENCE
pessoa_id_seq
Na aplicação a seguinte classe:
Exemplo do mapemento desta classe com XML:
Exemplo do mapemento com ANNOTATIONS:
No hibernate toda classe persistente deve ter o atributo id, que será utilizado para garantir a integridade dos objetos.
Esse id pode ser gerado de diversas formas, exemplo:
- sequence
- native
- increment
- identity
- native
Para obter os detalhes desses tipos de geradores de id, acesse o site do
Hibernate
No exemplo acima utilizamos a sequence. o parâmetro generator, utilizado no XML e com Annotations identifica qual será o gerador do id que o hibernate deverá utilizar., mas para isso é necessário informar o nome da sequence que será utilizada para a respectiva classe.
Espero ter ajudado de alguma forma.
Abraço à todos!
2 comentários:
Olá,
Este post é meio velho mas me ajudou, valeu kra.
Abraço.
O Marcos do javafree tem uma solução interessante para este problema:
http://www.javafree.org/javabb/viewtopic.jbb?t=865772
Postar um comentário