Wenn Sie wollen Um Sequenzen zu verwenden, sollten Sie unbedingt eine der sequence verwenden oder seqhilo wenn Sie einen Hi/Lo-Algorithmus-Generator wollen. Das Problem ist, dass "überhaupt nicht funktioniert" hilft überhaupt nicht zu verstehen, mit welchem Problem Sie konfrontiert waren.
Nur für den Fall, hier ist ein Ausschnitt für die sequence Generator:
<id name="id" type="long" column="person_id">
<generator class="sequence">
<param name="sequence">person_id_sequence</param>
</generator>
</id>
Und für das 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>
Wenn Sie untersuchen möchten, warum es "überhaupt nicht funktioniert", schlage ich vor, Protokollierung des generierten SQL um zu sehen, was passiert.
Beachten Sie auch, dass PostgreSQL die identity unterstützt -Generator (siehe HB-875
). und HHH-1675
) bei Verwendung von SERIAL- oder BIGSERIAL-Spalten.
Referenzen
- Hibernate Core-Referenzhandbuch