Liferay custom-sql с использованием оператора IN
Я использую Liferay 6.1, Tomcat и MySQL. У меня есть пользовательское предложение SQL для портлета списка. Custom-sql использует два параметра: массив groupIds и предел результата.
SELECT
count(articleId) as count,
...
FROM comments
WHERE groupId IN (?)
GROUP BY articleId
ORDER BY count DESC
LIMIT 0, ?
Мой класс FinderImpl имеет этот метод:
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;
}
Это возвращает 0 результатов. Если я удалю WHERE IN (), это сработает.
Является ли IN действительным оператором? Если нет, то как искать в разных группах?