Hibernateでシーケンスを作成して読み取る方法
-
05-07-2019 - |
質問
シーケンスを使用して一意の値を取得する必要があります。実動コードはpostgresを使用しますが、HSQLDBでテストできるように、Hibernate経由でアクセスしたいと思います。
Hibernateでシーケンスを作成して読み取るにはどうすればよいですか?
解決
Dialect
をご覧ください( https://github.com/hibernate/hibernate-orm/blob/5.0/hibernate-core/src/main/java/org/hibernate/dialect/ Dialect.java )。
データベースがシーケンス( supportsSequences()
)をサポートするかどうかを決定するコードと、それらを作成およびドロップするメソッド( 'getCreateSequenceString(String sequenceName)')が含まれています。
残念ながら、セッションから方言を取得する明確な方法はありません。 実行時にHibernateダイアレクトを取得する方法
を参照してください。[古い回答]
HibernateDialect
のコードを再利用することもできますが、メインAPIはこれを提供しません。おそらく、これをインターフェイスでラップしてから、方言に応じて異なる実装を使用することをお勧めします。
所属していません StackOverflow