0

外部システムへの注文を識別するために使用する一意の整数を生成する必要があります。アプリケーションで NHibernate HiLo ジェネレーターを使用していますが、プログラムでジェネレーターにアクセスして、一意の整数を返すようにすることはできますか? これをデータベースキーに保存する必要はありません。一意の整数を生成する NH 機能を使用したいだけです。

HiLo テーブルに列を追加します。この列は、この一意の番号シーケンスにのみ使用し、実際のデータベース キーには使用しません。たとえば、列「Foo」を hibernate_unique_key テーブルに追加したとします。

次に、その効果のために何かをすることができますか:

int n = GetNextId("Foo");

列の名前を渡すだけですか?

4

1 に答える 1

1

TableHiLoGeneratorまたはをインスタンス化し、構成して、値が必要なときにSequenceHiLoGenerator呼び出すことができるはずです。Generate

を呼び出すときに、最初のパラメーターと2 番目のパラメーターGenerate()を渡すことができます。session.GetSessionImplementation()null

ここで、これらの数値を実際に保存していない場合、DB を使用して数値を生成するのは最善の方法ではない可能性があることに注意してください。GUID は、事実上、より簡単に生成できる一意の 128 ビットの数値です。

于 2012-10-09T16:07:46.183 に答える