Struts2 条件查询中的联合查询

本文介绍了一种使用Hibernate Criteria API进行复杂条件查询的方法,包括日期范围限制、模糊查询及多表联查等技巧,提高了数据检索的灵活性与效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       Criteria criteria = getSession().createCriteria(TspcApply.class);
		
       if(startdate!=null&&!"".equals(startdate))
		{
			criteria.add(Restrictions.ge("startdate",startdate));
		}
       if(enddate!=null&&!"".equals(enddate))
		{
			criteria.add(Restrictions.le("enddate",enddate));
		}
       //联合查询
       criteria.createCriteria("tagtAgent","agent");
       if(agentname!=null&&!"".equals(agentname))    	   
		{
		   criteria.add(Restrictions.like("agent.agentname",agentname,MatchMode.ANYWHERE));
		}
       if(feefrom>0)
		{
  	     criteria.add(Restrictions.eq("feefrom",feefrom));
		}
       if(typeid>0)
		{
    	 //联合查询
    	   criteria.createCriteria("agent.tagtType","type");
    	   criteria.add(Restrictions.eq("type.typeid",typeid));
		}
       if(fundid>0)
		{
    	 //联合查询
    	   criteria.createCriteria("tspcFund","fund");
    	   criteria.add(Restrictions.eq("fund.fundid",fundid));
		}

       criteria.addOrder(Order.desc("enddate"));

       int recordsize = ((Integer) criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue();  
       
       criteria.setProjection(null);
       criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
       netbarlist=criteria.list();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值