public Collection getParentTypeUsers(int userTypeId) { Session objSession = null; List objList = null; try { logger.info("GETTING PARENT TYPE USERS"); objSession = HibernateUtil.getSession(); Query objQuery = objSession.createQuery( "select users.userId, users.firstName, users.lastName from UserTypesVO as userTypes, UsersVO as users where userTypes.userTypeId = ? and userTypes.parentUserType.userTypeId = users.userTypes.userTypeId order by users.firstName"); objQuery.setInteger(0, userTypeId); objList = objQuery.list(); Iterator itr = objList.iterator(); objList = new ArrayList(); while (itr.hasNext()) { Object[] innerRow = (Object[]) itr.next(); UsersVO objUsersVO = new UsersVO(); objUsersVO.setUserId(String.valueOf(innerRow[0])); objUsersVO.setFirstName(String.valueOf(innerRow[1])); objUsersVO.setLastName(String.valueOf(innerRow[2])); objList.add(objUsersVO); } logger.info("GET PARENT TYPE USERS ENDS"); } catch (HibernateException e) { logger.error("HIBERNATE EXCEPTION DURING GET PARENT TYPE USERS", e); e.printStackTrace(); } finally { if (objSession != null) { objSession.close(); } } return objList; }