NHibernate は、テーブルをロックせずにバージョン番号を強制的にインクリメントできますか?
バージョン番号のインクリメントを強制するためにこれを行うことができることを私は知っています:
session.Lock(myEntity, LockMode.Force);
しかし問題は、これがテーブル行の物理ロックも取得することであり、アプリケーションで大きな同時実行性の問題が発生します。
Java Hibernate の世界では、これが可能なようです。
session.lock(myEntity, LockMode.OPTIMISTIC_FORCE_INCREMENT);
Hibernate の は Hibernate の と同等のLockMode.Force
ように見えますが、 と同等のものLockMode.PESSIMISTIC_FORCE_INCREMENT
はありませんLockMode.OPTIMISTIC_FORCE_INCREMENT
。
Java バージョンと .NET バージョンのドキュメントを比較すると、Hibernate に存在するいくつかの LockModes が NHibernate にはないようです。その制限に対処する方法はありますか?