タグクラスと多対多の関係を持つエントリークラスがあります。エントリの履歴コピーを復元しようとしています。
私はこのようにクエリを試みました:
AuditReader reader = AuditReaderFactory.get(getEm());
var entryRevision = reader.createQuery()
.ForEntitiesAtRevision(typeof(IEntry), false, true)
.Add(new IdentifierEqAuditExpression(entryId, true))
.Add(AuditEntity.RevisionNumber().Eq(revisionNumber)))
.GetResultList().SingleOrDefault();
ただし、Tags
プロパティまたはにアクセスしようとするentryRevision
と、エラーが発生します。
NHibernate.LazyInitializationException : Initializing[Unavailable#] - コレクションの遅延初期化に失敗しました。セッションまたはセッションが閉じられませんでした
タグにアクセスしようとすると、セッションがまだ開いていることを確認しました。
テーブルを直接クエリして、このエントリに関連付けられていた可能性のあるすべてのタグ ID を取得することで、この問題を回避したいとTag_Entry_AUD
考えていますが、方法がわかりません。HQLクエリでこれを行うことは可能ですか?