Я читал об отсутствии поддержки подзапросов с 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: левая и правая части двоичного логического оператора были несовместимы [big_decimal: component [lId, rId]]
О подзапросах иличто-то еще?
Заранее спасибо.