NHibernate を ORM として使用するプロジェクトに取り組んでいます。
かなりの数のエンティティを「読み取り専用」としてセッションにロードできます。これは、エンティティを取得後に更新する必要がないためです。
私は2つの異なる方法でこれをやろうとしました:
var entity = criteria.UniqueResult<MyType>();
_session.SetReadOnly(entity, true);
また:
criteria.SetReadOnly(true);
ただし、どちらの方法でも、エンティティがPersistenceContext
ISession に存在することがわかります。
これは正常ですか?エンティティは読み取り専用/不変であるため、PersistenceContext には存在しないはずです。エンティティ タイプは複合タイプです。他のタイプへの複数の関連付けがあります。