2

NHibernate を ORM として使用するプロジェクトに取り組んでいます。

かなりの数のエンティティを「読み取り専用」としてセッションにロードできます。これは、エンティティを取得後に更新する必要がないためです。

私は2つの異なる方法でこれをやろうとしました:

var entity = criteria.UniqueResult<MyType>();
_session.SetReadOnly(entity, true);

また:

criteria.SetReadOnly(true);

ただし、どちらの方法でも、エンティティがPersistenceContextISession に存在することがわかります。

これは正常ですか?エンティティは読み取り専用/不変であるため、PersistenceContext には存在しないはずです。エンティティ タイプは複合タイプです。他のタイプへの複数の関連付けがあります。

4

1 に答える 1