1

親エンティティを持つエンティティがあります。このクエリを実行したい:

entity.parent.id = 9 のエンティティを選択

一部のエンティティには親がなく (entity.parent = null)、N HIBERNATE はこのクエリを実行できません (QueryException - プロパティを解決できませんでした)

HQL を使用して、親が null であるものを避けて、ID 9 の親エンティティを持つすべてのエンティティを取得するにはどうすればよいですか?

(entity.parent.id = 9 の前に entity.parent is not null を追加すると、同じ例外が発生します)

ネストされた select ステートメントを使用するオプションがありますが、これが最も効率的なソリューションではないと思います。

4

1 に答える 1

2

fromHQLクエリに句がありません。次のように書き直してみてください。

from entity where entity.parent is not null and entity.parent.id = 9

確かではありませんが、おそらくそのentity.parent is not null部分は必要ありません。NHibernateがこのシナリオを処理すると思います。

于 2009-12-07T12:36:49.910 に答える