Вы сможете прокрутить свой результат по 2-м критериям. Надеюсь, это поможет.

у очень простой запрос, но по какой-то причине я получаю повторяющиеся значения.

Criteria cr = session.createCriteria(ProcessInstance.class, "p")
        .add(Restrictions.isNull("end"));
@Cleanup ScrollableResults sr = cr.scroll(ScrollMode.FORWARD_ONLY);

while (sr.next()) {
    pi = (ProcessInstance) sr.get(0);
    String id = pi.getId(); //Getting duplicate values
}

pi.getId() возвращает повторяющиеся значения. то есть:*9,9,10,10,11,11 etc*

Тем не менее, выполнение этого запроса непосредственно в MySQL

SELECT * FROM JBPM_PROCESSINSTANCE J where J.END_ IS NULL

Не возвращает повторяющиеся значения.

Может кто-нибудь определить, что не так?

Ответы на вопрос(2)

Ваш ответ на вопрос