getHibernateTemplate

来源:互联网 发布:盒子助手软件 编辑:程序博客网 时间:2024/05/01 22:24
 

public List<Admins> findByAdminForm(final AdminsForm adminsForm, int firstResult, int resultNumber) {
  HibernateTemplate template=getHibernateTemplate();
  return (List<Admins>)template.execute(new HibernateCallback(){

   public Object doInHibernate(Session arg0)
     throws HibernateException, SQLException {
    StringBuffer hql=new StringBuffer("select distinct a from Admins a left join fetch a.adminRoles ar left join fetch ar.roles r where 1=1 ");
    if(adminsForm.getFname()!=null){
     if(adminsForm.getFname().length()>0&adminsForm.getFname().trim().length()>0){
      hql.append(" and a.name like :name ");
     }
     if(adminsForm.getFloginName().length()>0&adminsForm.getFloginName().trim().length()>0){
      hql.append(" and a.loginName like :loginName ");
     }
     if(adminsForm.getFsenrolldate().toString().length()>0&adminsForm.getFsenrolldate().toString().trim().length()>0){
      hql.append(" and a.enrolldate >= :senrolldate ");
     }
     if(adminsForm.getFeenrolldate().toString().length()>0&adminsForm.getFeenrolldate().toString().trim().length()>0){
      hql.append(" and a.enrolldate <= :eenrolldate ");
     }
     }
    
    Query query=arg0.createQuery(hql.toString());
    
    if(adminsForm.getFname()!=null){
     if(adminsForm.getFname().length()>0&adminsForm.getFname().trim().length()>0){
      query.setParameter("name", "%"+adminsForm.getFname()+"%");
     }
     if(adminsForm.getFloginName().length()>0&adminsForm.getFloginName().trim().length()>0){
      query.setParameter("loginName", ""+adminsForm.getFloginName()+"%");
     }
     if(adminsForm.getFsenrolldate().toString().length()>0&adminsForm.getFsenrolldate().toString().trim().length()>0){
      query.setParameter("senrolldate", adminsForm.getDfsenrolldate());
     }
     if(adminsForm.getFeenrolldate().toString().length()>0&adminsForm.getFeenrolldate().toString().trim().length()>0){
      query.setParameter("eenrolldate", adminsForm.getDfeenrolldate());
     }
     }
    List<Admins> admins=query.list();
    return admins;
   }
   
  });

原创粉丝点击