HQLを使用したサブクエリのサポートが不十分であることを読んだことがありますが、このSQLクエリをHQLで実装できるかどうかは誰にでも分かりますか?サブクエリを使用したSQLからHQLへ
私はすでにいくつかのテストを行ってきましたが、私は正しい道にいる場合は成功しません...分からない...
SQL(作業)
SELECT
foo.id as fooId,
foo.name AS fooName,
chan.name AS chanName,
(SELECT DISTINCT
foo_lang.VALUE
FROM
foo_lang
WHERE
foo_lang.foo_id = fooId AND
foo_lang.lang_id = 1) as EN
FROM
foo
INNER JOIN chan ON foo.chan_id = chan.id
HQL( )
select new
Map(o.id as id,
o.name as fooName,
c.name as chanName,
(select fl.value from foo_lang fl where fl.id.fId = id and fl.id.lId = 1) as EN)
from
foo o
left join o.chan c
動作しないことができます:
org.hibernate.TypeMismatchException:binarの左右の手の側面をy論理演算子は互換性がありませんでした[big_decimal:component [lId、rId]
サブクエリについてですか?
ありがとうございます。
私は2つのオープンブラケットを参照して、一つだけ近い:あなたはfoo_langにFOOに参加する場合は私の知る限り、論理的には、このように、同じになります。それを修正して試しましたか? – Genius
ありがとうございます。クロージングブラケットが追加されましたが、問題は解決しません。 – foxtrot
もう1つ質問:この式のfooIdは何ですか:foo_lang.foo_id = fooId AND。 サブクエリが複数の行を返す場合はどうなりますか?出来ますか? – Genius