PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Hibernate e Postgresql - classe generatore nel file di mappatura di ibernazione

Se vuoi per usare le sequenze, dovresti assolutamente usare una delle sequence o seqhilo se vuoi un generatore di algoritmi hi/lo. Il problema è che "non funziona affatto" non aiuta affatto a capire quale problema hai dovuto affrontare.

Per ogni evenienza, ecco uno snippet per la sequence generatore:

<id name="id" type="long" column="person_id">
        <generator class="sequence">
                <param name="sequence">person_id_sequence</param>
        </generator>
</id>

E per il seqhilo generatore:

<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 vuoi indagare sul perché "non funziona affatto", ti suggerisco di abilitare registrazione dell'SQL generato per vedere cosa sta succedendo.

Nota anche che PostgreSQL supporta l'identity generatore (vedi HB-875 e HHH-1675 ) quando si utilizzano colonne SERIAL o BIGSERIAL.

Riferimenti