package com.opentravelsoft.providers.hibernate; import java.util.List; import org.hibernate.criterion.CriteriaSpecification; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Order; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Repository; import com.opentravelsoft.entity.Module; import com.opentravelsoft.providers.ModuleDao; /** * * @author <a herf="mailto:zhangsitao@gmail.com">Steven Zhang</a> */ @Repository("ModuleDao") public class ModuleDaoHibernate extends GenericDaoHibernate<Module, Integer> implements ModuleDao { public ModuleDaoHibernate() { super(Module.class); } @SuppressWarnings("unchecked") public List<Module> getModuleList(boolean active) { DetachedCriteria criteria = DetachedCriteria.forClass(Module.class); if (active) criteria.add(Restrictions.eq("isActive", (byte) 1)); criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY); criteria.addOrder(Order.asc("sortOrder")); return getHibernateTemplate().findByCriteria(criteria); } @SuppressWarnings("unchecked") public List<Module> queryModle(String keyword) { StringBuilder sql = new StringBuilder(); sql.append("from Module "); sql.append("where moduleName like '%"); sql.append(keyword + "%'"); return getHibernateTemplate().find(sql.toString()); } }