Frage

Ich brauche eine Sequenz zu verwenden, um einen eindeutigen Wert zu erhalten. Der Produktionscode verwendet Postgres, aber ich möchte es über Hibernate zugreifen, so dass ich dies mit HSQLDB testen kann.

Wie kann ich erstellen und eine Sequenz in Hibernate lesen?

War es hilfreich?

Lösung

Hier finden Sie aktuelle Dialect ( https://github.com/hibernate/hibernate-orm/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/Dialect.java ).

Es enthält Code, um zu bestimmen, ob Ihre Datenbank unterstützt Sequenzen (supportsSequences()) und Methoden zu erstellen und lassen Sie sie ( 'getCreateSequenceString (String SequenceName)').

Leider gibt es keine saubere Art und Weise den Dialekt aus der Sitzung zu erhalten; finden Sie unter Wie man dorthin Hibernate Dialekt während der Laufzeit

[OLD Antwort]

Sie könnten versuchen, den Code von HibernateDialect wieder zu verwenden, aber das Haupt API dies nicht bieten. Ihre beste Wette ist wahrscheinlich das in einer Schnittstelle zu wickeln und dann verschiedene Implementierungen verwenden auf Ihrem Dialekt abhängig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top