Jeśli chcesz aby używać sekwencji, zdecydowanie powinieneś użyć jednej z sequence
lub seqhilo
jeśli chcesz generatory algorytmów hi/lo. Problem polega na tym, że „w ogóle nie działa” wcale nie pomaga zrozumieć, z jakim problemem się spotkałeś.
Na wszelki wypadek, oto fragment sequence
generator:
<id name="id" type="long" column="person_id">
<generator class="sequence">
<param name="sequence">person_id_sequence</param>
</generator>
</id>
I dla seqhilo
generator:
<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>
Jeśli chcesz sprawdzić, dlaczego „w ogóle nie działa”, sugeruję włączenie logowanie wygenerowanego SQL aby zobaczyć, co się dzieje.
Zauważ też, że PostgreSQL obsługuje identity
generator (patrz HB-875
i HHH-1675
) podczas korzystania z kolumn SERIAL lub BIGSERIAL.
Referencje
- Przewodnik dotyczący rdzenia hibernacji