PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Hibernate und Postgresql – Generatorklasse in der Hibernate-Mapping-Datei

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