Liferay custom-sql usando el operador IN
Estoy usando Liferay 6.1, Tomcat y MySQL. Tengo una oración sql personalizada para un portlet de lista. Custom-sql usa dos parámetros: una matriz de groupIds y un límite de resultados.
SELECT
count(articleId) as count,
...
FROM comments
WHERE groupId IN (?)
GROUP BY articleId
ORDER BY count DESC
LIMIT 0, ?
Mi clase FinderImpl tiene este método:
public List<Comment> findByMostCommented(String groupIds, long maxItems) {
Session session = null;
session = openSession();
String sql = CustomSQLUtil.get(FIND_MOST_COMMENTS);
SQLQuery query = session.createSQLQuery(sql);
query.addEntity("Comment", CommentImpl.class);
QueryPos queryPos = QueryPos.getInstance(query);
queryPos.add(groupIds);
queryPos.add(maxItems);
List<Comment> queryResult = query.list();
return queryResult;
}
Esto devuelve 0 resultados. Si quito el WHERE IN (), funciona.
¿IN es un operador válido? Si no, ¿cómo se puede buscar dentro de diferentes grupos?