À l'aide de la clause dans un natif de la requête sql avec Hibernate 3.2.2

Dans un mode similaire à la question trouvés ici: À l'aide de la clause dans un natif de la requête sql; je tente de faire usage d'un IN() clause par un natif de la requête SQL dans Hibernate. Alors que l'auteur de la question a été en mesure d'utiliser JPA, je ne suis pas. En outre, je suis coincé avec la version 3.2.2.

Il semble que Hibernate ne prend pas en charge IN() nativement, parce qu'il tente de convertir ma liste (tableau de longue primitives) de Id en forme binaire lors de l'application, les paramètres de la requête: query.setParameter("publisherGroups", [1243536264532,1243536264533,1243536264535]);

De Mise En Veille Prolongée:

SELECT
sum(C2CReportedConversion) as c2CConversion,
sum(C2CReportedRevenue) as c2CRevenue,
sum(I2CReportedConversion) as i2CConversion,
sum(I2CReportedRevenue) as i2CRevenue,
sum(Clicks) as clicks,
sum(Impressions) as impressions,
sum(Requests) as requests,
sum(Views) as views,
coalesce(Name,
DisplayName)
FROM
UiTemplateReportingCache
JOIN
AdUnit USING (AdUnitId)
WHERE
PublisherId = ?
AND PublisherGroupId IN (
?
)
AND Date >= ?
AND Date <= ?
GROUP BY
coalesce(Name,
DisplayName)

À partir de la base de données mysql journaux:

SELECT sum(C2CReportedConversion) as c2CConversion, sum(C2CReportedRevenue) as c2CRevenue, sum(I2CReportedConversion) as i2CConversion, sum(I2CReportedRevenue) as i2CRevenue, sum(Clicks) as clicks, sum(Impressions) as impressions, sum(Requests) as requests, sum(Views) as views, coalesce(Name, DisplayName) FROM UiTemplateReportingCache JOIN AdUnit USING (AdUnitId) WHERE PublisherId = 1239660230591 AND PublisherGroupId IN (_binary'��\0ur\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 <= '2011-03-18 23:59:59' GROUP BY coalesce(Name, DisplayName)

Avis de la _binary partie qui commence le IN() valeur. Quel est le truc pour faire ce travail? Sera la version d'Hibernate je suis en utilisant même le faire? Si non, quelles sont les alternatives?

Merci d'avance,

Carl

OriginalL'auteur carlsz | 2011-04-04