1

S#rpArchitecture/NHibernate プロジェクトで HiLo ジェネレーターを使用しており、大量のインポート バッチを実行しています。

クライアントで生成されるため、新しいレコードの Low 値を予測する可能性についてどこかで読んだことがあります。これは、Low 値を自分で制御するか、少なくともどこかから次の Low 値を取得できることを意味すると考えています。

これを使用する理由は、挿入しようとしている他のエンティティとの関係を設定したいからです。それらはまだ存在しませんが、バッチ トランザクションが完了する前に挿入されます。

ただし、Low 値を設定する方法や、次に Low 値を取得する方法に関する情報は見つかりません。

何か案は?

4

1 に答える 1

3

関係を設定するために何かを予測する必要はありません。ID ではなく、ドメイン モデルに基づいて設定されます。

HiLo を使用する利点は、ID がクライアント側で生成される (とにかく透過的) ことです。そのため、挿入が即時に行われる ID とは異なり、作業単位が保持されます (フラッシュ/コミットまで DB 書き込みは行われません)。

推奨される読み取り: http://fabiomaulo.blogspot.com/2009/02/nh210-generators-behavior-explained.html

于 2010-03-15T13:46:52.550 に答える