Se você quer para usar sequências, você deve definitivamente usar uma das
sequence
ou seqhilo
se você quiser geradores de algoritmo hi/lo. O problema é que "não funciona" não ajuda em nada a entender qual problema você enfrentou. Por precaução, aqui está um trecho da
sequence
gerador:<id name="id" type="long" column="person_id">
<generator class="sequence">
<param name="sequence">person_id_sequence</param>
</generator>
</id>
E para o
seqhilo
gerador:<id name="id" type="long" column="cat_id">
<generator class="seqhilo">
<param name="sequence">hi_value</param>
<param name="max_lo">100</param>
</generator>
</id>
Se você quiser investigar por que "não funciona", sugiro ativar log do SQL gerado para ver o que está acontecendo.
Observe também que o PostgreSQL suporta a
identity
gerador (consulte HB-875
e HHH-1675
) ao usar colunas SERIAL ou BIGSERIAL. Referências
- Guia de referência do Hibernate Core