query.where(criteriaBuilder.and(predicates));
query.orderBy(criteriaBuilder.asc(from.get("timestamp")));
TypedQuery<Object[]> typedQuery = entityManager.createQuery(query);
List<CommitMetaInfo> infos = new ArrayList<>();
for (Object[] row : typedQuery.getResultList()) {
CommitMetaInfo info = new CommitMetaInfo();
info.setCommitter(row[0] != null ? row[0].toString() : null);
info.setTimestamp(row[1] != null ? Long.valueOf(row[1].toString()) : null);
info.setContext(row[2] != null ? row[2].toString() : null);
info.setComment(row[3] != null ? row[3].toString() : null);
info.setRevision(row[4] != null ? row[4].toString() : null);
info.setParent(row[5] != null ? row[5].toString() : null);
info.setDomainId(row[6] != null ? row[6].toString() : null);
info.setConnectorId(row[7] != null ? row[7].toString() : null);
info.setInstanceId(row[8] != null ? row[8].toString() : null);
infos.add(info);
}
return infos;
}
}