package io.robe.admin.hibernate.dao; import io.robe.admin.hibernate.entity.Menu; import io.robe.hibernate.dao.BaseDao; import org.hibernate.Criteria; import org.hibernate.SessionFactory; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import javax.inject.Inject; import java.util.List; public class MenuDao extends BaseDao<Menu> { @Inject public MenuDao(SessionFactory sessionFactory) { super(sessionFactory); } public List<Menu> findByModule(String names) { Criteria criteria = currentSession().createCriteria(Menu.class); criteria.add(Restrictions.eq("module", names)); criteria.addOrder(Order.asc("index")); return list(criteria); } public List<Menu> findHierarchicalMenu() { Criteria criteria = currentSession().createCriteria(Menu.class); criteria.add(Restrictions.isNull("parentOid")); criteria.addOrder(Order.asc("index")); return list(criteria); } public List<Menu> findByParentOid(String parentOid) { Criteria criteria = currentSession().createCriteria(Menu.class); criteria.add(Restrictions.eq("parentOid", parentOid)); criteria.addOrder(Order.asc("index")); return list(criteria); } }