select x from X x where x.a.id = :a_id
->常に0個のオブジェクトが選択されます
上記のJPQLステートメントが機能しないのに、以下のステートメントが機能するのはなぜですか?
select a from A a where a.id = :a_id
->a_obj-
select x from X x where x.a = :a_obj
>常に正しい数のオブジェクトが選択されています
どちらのクエリも実行中に例外をスローしませんが、異なる数の結果が取得されます。
ありがとう
アップデート
結合を使用して次のクエリを試しました:
select x from X x, x.a a where x.a.id = :a_id
->予期しないトークンのTopLink例外
そしてこれ:
select x from X x JOIN x.a a where a.id = :a_id
->選択されたオブジェクトの数を常に修正する
後者のクエリで、私は目前の最初の問題を解決しました。ただし、機能するはずのクエリが2つありますが、何らかの理由で機能しません。
select x from X x where x.a.id = :a_id
->常に0個のオブジェクトが選択されています
select x from X x, x.a a where x.a.id = :a_id
->予期しないトークンのTopLink例外
他の誰かが同様の行動に遭遇したことがありますか?