Как ссылаться на имя карты для подзапроса в HQL-порядке по предложению - PullRequest
1 голос
/ 16 сентября 2010

У меня есть оператор HQL, подобный следующему:

select new map (f1 as field1, (select ...) as field2)
from ...
where ...
order by field2;

Не удается сказать "Неизвестный столбец 'field2'".В целом я столкнулся с тем, что при использовании оператора «новая карта» я не могу ссылаться на имена карт в порядке по полю.

Поскольку подзапросы HQL разрешены только в предложении select или where, янельзя просто скопировать подзапрос в заказ по предложению (что в любом случае было бы не очень приятно).

Я что-то упустил или мне следует отказаться от использования карты?

1 Ответ

2 голосов
/ 17 сентября 2010

Я обнаружил, что это действительно ошибка (неразрешенная с пяти лет!), И не имеет значения, использую ли я псевдоним в «новой карте» или обычным способом.Однако есть обходной путь, который работает для меня: просто укажите ссылку на столбец, используя col_0_0_, col_1_0_ и т. Д. Это также работает с "новой картой".

См. это описание ошибки информация.

...