PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Hibernate et Postgresql - classe de générateur dans le fichier de mappage d'hibernation

Si vous voulez pour utiliser des séquences, vous devez absolument utiliser l'une des sequence ou seqhilo si vous voulez des générateurs d'algorithmes hi/lo. Le problème est que "ne marche pas du tout" n'aide pas du tout à comprendre quel problème vous avez rencontré.

Juste au cas où, voici un extrait de la sequence générateur :

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

Et pour le seqhilo générateur :

<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>

Si vous voulez savoir pourquoi cela "ne fonctionne pas du tout", je vous suggère d'activer journalisation du SQL généré pour voir ce qui se passe.

Notez également que PostgreSQL prend en charge l'identity générateur (voir HB-875 et HHH-1675 ) lors de l'utilisation de colonnes SERIAL ou BIGSERIAL.

Références