if (obc != null) {
query.append("ORDER BY " + obc.getOrderBy());
}
Query q = session.createQuery(query.toString());
int queryPos = 0;
q.setString(queryPos++, groupId);
q.setString(queryPos++, companyId);
List list = new ArrayList();
if (getDialect().supportsLimit()) {
q.setMaxResults(end - begin);
q.setFirstResult(begin);
Iterator itr = q.list().iterator();
while (itr.hasNext()) {
PortletHBM portletHBM = (PortletHBM)itr.next();
list.add(PortletHBMUtil.model(portletHBM));
}
}
else {
ScrollableResults sr = q.scroll();
if (sr.first() && sr.scroll(begin)) {
for (int i = begin; i < end; i++) {
PortletHBM portletHBM = (PortletHBM)sr.get(0);
list.add(PortletHBMUtil.model(portletHBM));