ProcessTemplateDAO { public List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> list(Integer pageNum, Integer numResults, Integer processId) { Session session = sessionFactory.openSession(); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> processTemplateList = new ArrayList<com.wipro.ats.bdre.md.beans.table.ProcessTemplate>(); try { session.beginTransaction(); Criteria fetchProcessTPPId = session.createCriteria(ProcessTemplate.class).add(Restrictions.eq(PARENTPROCESSTEMPLATEID, processId)); Criteria fetchProcessTPId = session.createCriteria(ProcessTemplate.class).add(Restrictions.eq(PROCESSTEMPLATEID, processId)); if (processId == null) { Criteria fetchProcessTemplate = session.createCriteria(ProcessTemplate.class).add(Restrictions.isNull(PARENTPROCESSTEMPLATEID)).add(Restrictions.eq(DELETEFLAG, false)).add(Restrictions.not(Restrictions.eq(PROCESSTEMPLATEID, 0))).addOrder(Order.asc(PROCESSTEMPLATEID)); fetchProcessTemplate.setFirstResult(pageNum); fetchProcessTemplate.setMaxResults(numResults); List<ProcessTemplate> jpaPTList = fetchProcessTemplate.list(); LOGGER.info("List size of process template:" + fetchProcessTemplate.list().size()); for (ProcessTemplate jpaProcessTemplate : jpaPTList) { com.wipro.ats.bdre.md.beans.table.ProcessTemplate processTemplate = new com.wipro.ats.bdre.md.beans.table.ProcessTemplate(); processTemplate.setProcessTemplateId(jpaProcessTemplate.getProcessTemplateId()); processTemplate.setDescription(jpaProcessTemplate.getDescription()); processTemplate.setAddTS(jpaProcessTemplate.getAddTs()); processTemplate.setProcessName(jpaProcessTemplate.getProcessName()); processTemplate.setBusDomainId(jpaProcessTemplate.getBusDomain().getBusDomainId()); processTemplate.setProcessTypeId(jpaProcessTemplate.getProcessType().getProcessTypeId()); processTemplate.setWorkflowId(jpaProcessTemplate.getWorkflowType().getWorkflowId()); processTemplate.setOwnerRoleId(jpaProcessTemplate.getUserRoles().getUserRoleId()); processTemplate.setPermissionTypeByUserAccessId(jpaProcessTemplate.getPermissionTypeByUserAccessId().getPermissionTypeId()); processTemplate.setPermissionTypeByGroupAccessId(jpaProcessTemplate.getPermissionTypeByGroupAccessId().getPermissionTypeId()); processTemplate.setPermissionTypeByOthersAccessId(jpaProcessTemplate.getPermissionTypeByOthersAccessId().getPermissionTypeId()); if (jpaProcessTemplate.getProcessTemplate() != null) processTemplate.setParentProcessId(jpaProcessTemplate.getProcessTemplate().getProcessTemplateId()); processTemplate.setCanRecover(jpaProcessTemplate.getCanRecover()); processTemplate.setBatchPattern(jpaProcessTemplate.getBatchCutPattern()); processTemplate.setNextProcessTemplateId(jpaProcessTemplate.getNextProcessTemplateId()); processTemplateList.add(processTemplate); } } else if (fetchProcessTPPId.list().isEmpty() && fetchProcessTPId.list().size() == 1) { ProcessTemplate processTemplatePid = (ProcessTemplate) fetchProcessTPId.uniqueResult(); if (processTemplatePid.getProcessTemplate() != null && processTemplatePid != null) { Integer parentProcessId = processTemplatePid.getProcessTemplate().getProcessTemplateId(); Criteria fetchProcessTemplate = session.createCriteria(ProcessTemplate.class).add(Restrictions.eq(PROCESSTEMPLATEID, parentProcessId)).add(Restrictions.eq(DELETEFLAG, false)).add(Restrictions.not(Restrictions.eq(PROCESSTEMPLATEID, 0))).addOrder(Order.asc(PROCESSTEMPLATEID)); fetchProcessTemplate.setFirstResult(pageNum); fetchProcessTemplate.setMaxResults(numResults); List<ProcessTemplate> jpaPTList = fetchProcessTemplate.list(); LOGGER.info("List size of process template : " + fetchProcessTemplate.list().size()); for (ProcessTemplate jpaProcessTemplate : jpaPTList) { com.wipro.ats.bdre.md.beans.table.ProcessTemplate processTemplate = new com.wipro.ats.bdre.md.beans.table.ProcessTemplate(); processTemplate.setProcessTemplateId(jpaProcessTemplate.getProcessTemplateId()); processTemplate.setDescription(jpaProcessTemplate.getDescription()); processTemplate.setAddTS(jpaProcessTemplate.getAddTs()); processTemplate.setProcessName(jpaProcessTemplate.getProcessName()); processTemplate.setBusDomainId(jpaProcessTemplate.getBusDomain().getBusDomainId()); processTemplate.setProcessTypeId(jpaProcessTemplate.getProcessType().getProcessTypeId()); processTemplate.setWorkflowId(jpaProcessTemplate.getWorkflowType().getWorkflowId()); processTemplate.setOwnerRoleId(jpaProcessTemplate.getUserRoles().getUserRoleId()); processTemplate.setPermissionTypeByUserAccessId(jpaProcessTemplate.getPermissionTypeByUserAccessId().getPermissionTypeId()); processTemplate.setPermissionTypeByGroupAccessId(jpaProcessTemplate.getPermissionTypeByGroupAccessId().getPermissionTypeId()); processTemplate.setPermissionTypeByOthersAccessId(jpaProcessTemplate.getPermissionTypeByOthersAccessId().getPermissionTypeId()); if (jpaProcessTemplate.getProcessTemplate() != null) processTemplate.setParentProcessId(jpaProcessTemplate.getProcessTemplate().getProcessTemplateId()); processTemplate.setCanRecover(jpaProcessTemplate.getCanRecover()); processTemplate.setBatchPattern(jpaProcessTemplate.getBatchCutPattern()); processTemplate.setNextProcessTemplateId(jpaProcessTemplate.getNextProcessTemplateId()); processTemplate.setCounter(jpaPTList.size()); processTemplateList.add(processTemplate); } } } else { Criteria fetchProcessTemplate = session.createCriteria(ProcessTemplate.class).add(Restrictions.isNull(PARENTPROCESSTEMPLATEID)).add(Restrictions.eq(PROCESSTEMPLATEID, processId)).add(Restrictions.eq(DELETEFLAG, false)).add(Restrictions.not(Restrictions.eq(PROCESSTEMPLATEID, 0))).addOrder(Order.asc(PROCESSTEMPLATEID)); fetchProcessTemplate.setFirstResult(pageNum); fetchProcessTemplate.setMaxResults(numResults); List<ProcessTemplate> jpaPTList = fetchProcessTemplate.list(); LOGGER.info("List size of process template :" + fetchProcessTemplate.list().size()); for (ProcessTemplate jpaProcessTemplate : jpaPTList) { com.wipro.ats.bdre.md.beans.table.ProcessTemplate processTemplate = new com.wipro.ats.bdre.md.beans.table.ProcessTemplate(); processTemplate.setProcessTemplateId(jpaProcessTemplate.getProcessTemplateId()); processTemplate.setDescription(jpaProcessTemplate.getDescription()); processTemplate.setAddTS(jpaProcessTemplate.getAddTs()); processTemplate.setProcessName(jpaProcessTemplate.getProcessName()); processTemplate.setBusDomainId(jpaProcessTemplate.getBusDomain().getBusDomainId()); processTemplate.setProcessTypeId(jpaProcessTemplate.getProcessType().getProcessTypeId()); processTemplate.setWorkflowId(jpaProcessTemplate.getWorkflowType().getWorkflowId()); processTemplate.setOwnerRoleId(jpaProcessTemplate.getUserRoles().getUserRoleId()); processTemplate.setPermissionTypeByUserAccessId(jpaProcessTemplate.getPermissionTypeByUserAccessId().getPermissionTypeId()); processTemplate.setPermissionTypeByGroupAccessId(jpaProcessTemplate.getPermissionTypeByGroupAccessId().getPermissionTypeId()); processTemplate.setPermissionTypeByOthersAccessId(jpaProcessTemplate.getPermissionTypeByOthersAccessId().getPermissionTypeId()); if (jpaProcessTemplate.getProcessTemplate() != null) processTemplate.setParentProcessId(jpaProcessTemplate.getProcessTemplate().getProcessTemplateId()); processTemplate.setCanRecover(jpaProcessTemplate.getCanRecover()); processTemplate.setBatchPattern(jpaProcessTemplate.getBatchCutPattern()); processTemplate.setNextProcessTemplateId(jpaProcessTemplate.getNextProcessTemplateId()); processTemplate.setCounter(jpaPTList.size()); processTemplateList.add(processTemplate); } } session.getTransaction().commit(); } catch (MetadataException e) { session.getTransaction().rollback(); LOGGER.error(e); } finally { session.close(); } return processTemplateList; }  List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> list(Integer pageNum, Integer numResults, Integer processId); Integer totalRecordCount(); ProcessTemplate get(Integer id); Integer insert(ProcessTemplate processTemplate); void update(ProcessTemplate processTemplate); void delete(Integer id); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> selectPTList(int processTemplateId); List<com.wipro.ats.bdre.md.beans.table.Process> selectPListForTemplate(int processTemplateId); List<com.wipro.ats.bdre.md.beans.table.Process> selectPPListForTemplateId(int processTemplateId); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> listSubProcessTemplates(int processTemplateId); com.wipro.ats.bdre.md.beans.table.Process selectNextForPid(Integer processId, Integer parentProcessId); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> selectMissingSubPList(Integer processId, Integer processTemplateId); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> selectMissingSubTList(Integer processId, Integer processTemplateId); List<com.wipro.ats.bdre.md.beans.table.Properties> selectMissingPropListForP(Integer processId, Integer processTemplateId); List<com.wipro.ats.bdre.md.beans.table.PropertiesTemplate> selectMissingPropListForT(Integer processId, Integer parentProcessId, Integer processTemplateId);  }
@Ignore @Test public void testList() throws Exception { LOGGER.info("Size of ProcessTemplate is atleast:" + processTemplateDAO.list(0, 10, 1).size()); }