1

一意の値を取得するには、シーケンスを使用する必要があります。本番コードはpostgresを使用していますが、HSQLDBでこれをテストできるように、Hibernate経由でアクセスしたいと思います。

Hibernateでシーケンスを作成して読み取るにはどうすればよいですか?

4

1 に答える 1

2

Dialecthttps://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はこれを提供していません。最善の策は、おそらくこれをインターフェイスでラップしてから、方言に応じて異なる実装を使用することです。

于 2009-10-22T07:27:29.400 に答える