首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

hibernate做查询,关于Restrictions.or的有关问题

2012-10-25 
求教:hibernate做查询,关于Restrictions.or的问题在一个查询的功能中,我需要实现where ab and cd an

求教:hibernate做查询,关于Restrictions.or的问题
在一个查询的功能中,我需要实现
where a='b' and c='d' and (e like '%f%' or g like '%h%' or j like '%k%' or ....)
的功能,括号中的or语句是动态的,个数不定。

前面的a='b' and c='d'可以使用

DetachedCriteria detachedCriteria=DetachedCriteria.forClass(abc.class);detachedCriteria.add(Restrictions.eq("a","b"));detachedCriteria.add(Restrictions.eq("c","d"));


但是在增加后面的查询条件时发现Restrictions.or只支持两个条件的or查询,hibernate手册中的例程如下:

List cats = sess.createCriteria(Cat.class)    .add( Restrictions.like("name", "Fritz%") )    .add( Restrictions.or(        Restrictions.eq( "age", new Integer(0) ),        Restrictions.isNull("age")    ) )    .list();


求教各位,这个问题该怎么解决,

万分感谢!

detachedCriteria.add(Restrictions.or(Restrictions.or(Restrictions.or(Restrictions.ne("hasMediumReport","1"), Restrictions.ne("hasFinalReport", "1")), Restrictions.or(Restrictions.ne("hasOtherReport", "1"), Restrictions.ne("hasDeputyReport", "1"))), Restrictions.ne("hasInitReport", "1")));

热点排行