Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.ust.coppel.incentivos.repository.impl; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import com.model.admin.CatMenu; import com.ust.coppel.incentivos.repository.MenuRepository; /** * * @author U39735 */ @Repository @SuppressWarnings({ "unchecked", "rawtypes" }) public class MenuRepositoryImpl implements MenuRepository { private SessionFactory sessionFactory; @Transactional @Override public List<CatMenu> findAll() { Session session = sessionFactory.getCurrentSession(); List list = session.createQuery("from CatMenu").list(); return list; } @Transactional @Override public void add(CatMenu menu) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(CatMenu.class).setProjection(Projections.max("iduMenu")); Integer max = ((Integer) criteria.uniqueResult()); if (max != null) max += 1; else max = 1; menu.setIduMenu(max); session.save(menu); } @Transactional @Override public void update(CatMenu menu) { Session session = sessionFactory.getCurrentSession(); session.update(menu); } @Transactional @Override public void remove(CatMenu menu) { Session session = sessionFactory.getCurrentSession(); session.delete(menu); } @Transactional @Override public CatMenu find(Integer Id) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(CatMenu.class); criteria.add(Restrictions.eq("iduMenu", Id)); CatMenu aux = null; for (Object aux1 : criteria.list()) { aux = (CatMenu) aux1; } return aux; } @Transactional @Override public List<CatMenu> getChildren(Integer idMenu) { Session session = sessionFactory.getCurrentSession(); Criteria criteria = session.createCriteria(CatMenu.class); criteria.add(Restrictions.eq("numMenusup", idMenu)); List<CatMenu> list = criteria.list(); return list; } @Transactional @Override public List<Object[]> getMenuByPerfil(Integer idMenu, Integer idPerfil) { Session session = sessionFactory.getCurrentSession(); List<Object[]> list = null; try { String sql = "SELECT menu, permission FROM CatMenu menu, CtlPermisos permission WHERE menu.iduMenu=permission.id.iduMenu " + "and permission.id.iduPerfil= :idPerfil and menu.numMenusup= :idMenu " + "order by menu.numOrden "; Query query = session.createQuery(sql); query.setInteger("idPerfil", idPerfil); query.setInteger("idMenu", idMenu); list = query.list(); } catch (Exception e) { System.out.println("Error - " + e.getMessage()); } return list; } }