MyException - 我的异常网
当前位置:我的异常网» Java Web开发 » hibernate怎么查询多条件 ,且条件数不定的方法

hibernate怎么查询多条件 ,且条件数不定的方法

www.MyException.Cn  网友分享于:2013-12-24  浏览:170次
hibernate如何查询多条件 ,且条件数不定的方法
要求:页面上详细查询条件有10条,所有都可以不添,为全查。   按照客户添的条件在后台查找符合全部要求的数据。   因为我刚学hibernate   所以问一下有什么方法可以实现这种查询吗???

表的映射和关联已配好。   我现在在service层用无数个判断条件来判断怎么查询,但这种方法太影响效率。请问hibernate有方便的方法吗?   例如ibatis里的isNotEmpty.

------解决方案--------------------
可以用反射获取pojo的所有字段和类型以及值,然后根据类型和值动态拼凑字符串,不过这个效率会有一点影响!
------解决方案--------------------
mark
------解决方案--------------------
使用QBC动态查询:

import org.hibernate.Criteria;
import org.hibernate.Query;

Session session=HibernateSessionFactory.currentSession();
//QBC(Query by Criteria)动态查询 �𗘗
Criteria crit=session.createCriteria(Team.class);

//如果相应属性不为空,则按相应属性查询
if(stuName!=null){
crit.add(Restrictions.like( "stuName ",stuName,MatchMode.ANYWHERE));
}
if(oldTeamName!=null){
crit.add(Restrictions.like( "oldTeamName ",oldTeamName,MatchMode.ANYWHERE));
}
if(applyDate!=null){
crit.add(Restrictions.like( "applyDate ",applyDate,MatchMode.ANYWHERE));
}
if(examineState!=null){
crit.add(Restrictions.like( "examineState ",examineState,MatchMode.ANYWHERE));
}

====================================
这是一个例子,参考一下

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有