質問

シーケンスを使用して一意の値を取得する必要があります。実動コードは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はこれを提供しません。おそらく、これをインターフェイスでラップしてから、方言に応じて異なる実装を使用することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top