0

休止状態で次の HQL クエリがあります。

select x 
from Item as x
where x not in (select o.item from Opinion as o where o.user =:user)

サブクエリ ( select o.item from Opinion as o where o.user =:user) が空のリストを返さない限り、このクエリは正常に機能します。この場合、エラーが発生しました。

select o.item from Opinion as o where o.user =:userサブクエリ ( ) が空のときに Hibernate がエラーを発生させないようにする方法はありますか?

空の ( ) でも機能するようにクエリを書き直すにはどうすればよいselect o.item from Opinion as o where o.user =:userですか?

4

1 に答える 1

0

私が見る1つの簡単な方法は

select x 
from Item as x
where (select count(distinct o.item) from Opinion as o where o.user =:user) = 0

または (*未テスト)

select x 
from Item as x
where not exists (from Opinion as o where o.item = x and o.user =:user)
于 2013-07-09T20:06:57.030 に答える