ProcessTemplateDAO { public List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> listSubProcessTemplates(int processTemplateId) { Session session = sessionFactory.openSession(); List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> tableProcessTemplates = new ArrayList<com.wipro.ats.bdre.md.beans.table.ProcessTemplate>(); try { session.beginTransaction(); Criteria criteria = session.createCriteria(ProcessTemplate.class).add(Restrictions.eq(PARENTPROCESSTEMPLATEID, processTemplateId)); criteria.add(Restrictions.ne(DELETEFLAG, true)); List<ProcessTemplate> processTemplateList = criteria.list(); Iterator<ProcessTemplate> iterator = processTemplateList.iterator(); while (iterator.hasNext()) { ProcessTemplate jpaProcessTemplate = iterator.next(); com.wipro.ats.bdre.md.beans.table.ProcessTemplate tableProcessTemplate = new com.wipro.ats.bdre.md.beans.table.ProcessTemplate(); tableProcessTemplate.setProcessTemplateId(jpaProcessTemplate.getProcessTemplateId()); tableProcessTemplate.setDescription(jpaProcessTemplate.getDescription()); tableProcessTemplate.setAddTS(jpaProcessTemplate.getAddTs()); tableProcessTemplate.setProcessName(jpaProcessTemplate.getProcessName()); tableProcessTemplate.setBusDomainId(jpaProcessTemplate.getBusDomain().getBusDomainId()); tableProcessTemplate.setProcessTypeId(jpaProcessTemplate.getProcessType().getProcessTypeId()); if (jpaProcessTemplate.getProcessTemplate() != null) tableProcessTemplate.setParentProcessId(jpaProcessTemplate.getProcessTemplate().getProcessTemplateId()); tableProcessTemplate.setCanRecover(jpaProcessTemplate.getCanRecover()); tableProcessTemplate.setBatchPattern(jpaProcessTemplate.getBatchCutPattern()); tableProcessTemplate.setCounter(processTemplateList.size()); tableProcessTemplate.setNextProcessTemplateId(jpaProcessTemplate.getNextProcessTemplateId()); tableProcessTemplates.add(tableProcessTemplate); } session.getTransaction().commit(); } catch (MetadataException e) { session.getTransaction().rollback(); LOGGER.error(e); } finally { session.close(); } return tableProcessTemplates; }  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);  }
@Test public void testListSubProcessTemplates() throws Exception { List<com.wipro.ats.bdre.md.beans.table.ProcessTemplate> returnedList = processTemplateDAO.listSubProcessTemplates(0); LOGGER.info("size of returned list is " + returnedList.size()); }