Liferay custom-sql mit dem IN-Operator

Ich benutze Liferay 6.1, Tomcat und MySQL. Ich habe einen benutzerdefinierten SQL-Satz für ein Listenportlet. Das custom-sql verwendet zwei Parameter: ein Array von groupIds und ein Ergebnislimit.

SELECT
count(articleId) as count,
...
FROM comments
WHERE groupId IN (?)
GROUP BY articleId
ORDER BY count DESC 
LIMIT 0, ?

Meine FinderImpl-Klasse hat diese Methode:

 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;
}

Dies gibt 0 Ergebnisse zurück. Wenn ich das WHERE IN () entferne, funktioniert es.

Ist IN ein gültiger Operator? Wenn nicht, wie kann in verschiedenen Gruppen gesucht werden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage