Я читал об отсутствии поддержки подзапросов с HQL, но в любом случае кто-нибудь мог сказать мне, может ли этот SQL-запрос быть реализован с помощью HQL?SQL to 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: левая и правая рука сторон БИНАР y были несовместимы [big_decimal: component [lId, rId]]
Есть о подзапросах или что-то еще?
Заранее спасибо.
Я вижу два открытых скобок, но только один близко. Вы пытались это исправить? – Genius 2010-11-23 20:47:01
Спасибо. Добавлена скобка закрытия, но проблема сохраняется. – foxtrot 2010-11-24 09:48:24