Question

Je dois utiliser une séquence pour obtenir une valeur unique. Le code de production utilise postgres mais je voudrais y accéder via Hibernate afin de pouvoir le tester avec HSQLDB.

Comment créer et lire une séquence dans Hibernate?

Était-ce utile?

La solution

Découvrez Dialect ( https://github.com/hibernate/hibernate-orm/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/ Dialect.java ).

Il contient du code permettant de déterminer si votre base de données prend en charge les séquences ( supportsSequences () ) et les méthodes pour les créer et les supprimer ('getCreateSequenceString (String sequenceName)').

Malheureusement, il n’existe aucun moyen propre d’obtenir le dialecte de la session; voir Comment obtenir le dialecte Hibernate pendant l'exécution

[OLD Answer]

Vous pouvez essayer de réutiliser le code de HibernateDialect mais l’API principale ne l’offre pas. Votre meilleur choix est probablement d’envelopper cela dans une interface, puis d’utiliser différentes implémentations en fonction de votre dialecte.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top