У меня следующий HQL-запрос, и для простоты предположим, что сопоставления и имена таблиц правильные.
String queryString = "from entity as vv inner join vv.childentity as vis with childentityid=?";
Query query = session.createQuery(queryString);
query.setParameter(0, someVarId);
List<entity> entities = query.list();
Я получаю следующую ошибку при попытке выполнить это:
ОШИБКА: не удалось связать значение «12» с параметром: 1; Неверный индекс параметра 1.
Я подозреваю, что это может быть связано с тем, что HQL неявно не поддерживает параметры привязки в предложении WITH. Я не могу найти никаких документов, говорящих, что это не поддерживается, и я RTFM.
Кто-нибудь может подтвердить, что это правда или что это известная ошибка в Hibernate, или хороший обходной путь тоже подойдет.
РЕДАКТИРОВАТЬ: я забыл упомянуть, что я получаю ту же ошибку, даже если использовать именованный параметр.