public void insertParent(Session session, int menuId, int usertypes) { Transaction transaction = null; try { Criteria menuCrit = session.createCriteria(Menumaster.class); menuCrit.add(Restrictions.sqlRestriction("code=" + menuId)); List menuList = menuCrit.list(); if (menuList.size() > 0) { Menumaster menuObj = (Menumaster) menuList.get(0); Criteria menuCrit1 = session.createCriteria(Menuprivilages.class); menuCrit1.add(Restrictions.sqlRestriction("usertype=" + usertypes)); menuCrit1.add(Restrictions.sqlRestriction("menumaster=" + menuObj.getParentcode())); List menuList1 = menuCrit1.list(); if (menuList1.size() <= 0) { transaction = session.beginTransaction(); Usertype typeobj = new Usertype(); typeobj.setId(usertypes); Menumaster menuMasterObj = new Menumaster(); menuMasterObj.setCode(menuObj.getParentcode()); Menuprivilages menuObj2 = new Menuprivilages(); menuObj2.setId(String.valueOf(getSequenceNumber(session))); menuObj2.setUsertype(typeobj); menuObj2.setMenumaster(menuMasterObj); menuObj2.setAccessright(Boolean.TRUE); session.save(menuObj2); transaction.commit(); this.insertParent(session, menuObj.getParentcode(), usertypes); } } } catch (Exception e) { if (transaction != null) { transaction.rollback(); } e.printStackTrace(); } }