Использование предложения IN в собственном sql-запросе с Hibernate 3.2.2

Подобно вопросу, найденному здесь: Использование предложения IN в собственном запросе sql ; Я пытаюсь использовать предложение IN () посредством собственного SQL-запроса в Hibernate. Хотя автор другого вопроса смог использовать JPA, я нет. Вдобавок я застрял на версии 3.2.2.

Кажется, что Hibernate не поддерживает IN () изначально, потому что он пытается преобразовать мой список (массив длинных примитивов) идентификаторов в двоичную форму при применении параметров запроса: sum (C2CReportedConversion) как c2CConversion, сумма (C2CReportedRevenue) как c2CRevenue, sum (I2CReportedConversion) как i2CConversion, sum (I2CReportedRevenue) как i2CRevenue, сумма (кликов) в виде кликов, sum (Impressions) как впечатления, сумма (Запросы) как запросы, sum (Views) как представления, coalesce (Имя, Показать имя) ОТ UiTemplateReportingCache ПРИСОЕДИНИТЬСЯ AdUnit ИСПОЛЬЗУЕТСЯ (AdUnitId) ГДЕ PublisherId =? И PublisherGroupId В ( ? ) И Дата> =? И Дата

Из журналов mysql:

SELECT sum (C2CReportedConversion) as c2CConversion, sum (C2CReportedRevenue) as c2CRevenue, sum (I2CReportedConversion) as i2CConversion, sum (I2CReportedRevenue) as i2CRevenue) as sum (ClicCRevenue) (Показы) как показы, сумма (Запросы) как запросы, сумма (Просмотры) как просмотры, объединение (Name, DisplayName) FROM UiTemplateReportingCache JOIN AdUnit USING (AdUnitId) WHERE PublisherId = 1239660230591 AND PublisherGroupId IN (_binary' \ 0 [Jx u \ 0 \ 0xp \ 0 \ 0 \ 0 \ 0 \ 0! T \ 0 \ 0! U \ 0 \ 0! W \ 0 \ 0! m \ 0 \ 0! n \ 0 \ 0! t \ 0 \ 0! {\ 0 \ 0! | \ 0 \ 0! } \ 0 \ 0! ~ \ 0 \ 0 # \ 0 \ 0 $ | S ') AND Date> =' 2011-03-17 00:00:00 'AND Date

Обратите внимание на часть _binary , которая запускает значение IN () . Как заставить эту работу работать? Будет ли эта версия Hibernate, которую я использую, делать? Если нет, то какие у меня есть альтернативы?

Заранее спасибо,

Карл

12
задан Community 23 May 2017 в 12:18
поделиться