高分 求助 使用Restrictions 进行Like查询 现在使用:DetachedCriteria 进行查询,如下criteria.add(Restrictions.like("name", name, MatchMode.ANYWHERE));如果查询条件是个Map,且里面的健值对没有规律,如何实现查询所有条件呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可不可以使用set 遍历map.然后遍历criteria.add(Restrictions.like("name", name, MatchMode.ANYWHERE));查询条件 不过这种情况,对于查询效率不太好, 这样查询出来 的结果,是 and ,不是or 的,用or怎么实现呢? Expression.or(Restrictions.like("name", name, MatchMode.ANYWHERE),Restrictions.like("name", name, MatchMode.ANYWHERE)); 不知道Map里放了多少个,也不知道Map里的Key是什么,怎么办呢?主要是不知道Map里的数量..... 循环遍历map,key属性名,value值DetachedCriteria createria... if (map!= null) { Disjunction disjunction = Restrictions.disjunction(); for (Entry<String,Object> en:map.entrySet()) { criteria disjunction.add(Restrictions.like(en.getKey(), en.getValue())); } criteria.add(disjunction); } OK,谢谢heruyipapa了,解决办法 if(orlk!=null){ Disjunction disjunction = Restrictions.disjunction(); keys = orlk.keySet().iterator(); while(keys.hasNext()){ o = keys.next(); disjunction.add(Restrictions.like(o.toString(), orlk.get(o).toString(),MatchMode.ANYWHERE)); } criteria.add(disjunction); } 一个JS的问题 Java操作word jsp页面中sql的显示时间问题 包含分组的复杂查询用hibernate criteria如何实现分页排序? ActiveX插件的运用问题?请大家看看! hibernate + hsqldb 保存不了数据,是怎么回事? hibernate初学者弱弱的问2 谁对struts时间控件熟悉的。。 在JAVA中用JNI来实现对C函数的调用中的问题???? 菜鸟请教一个XML读取的问题... 一个关于webservice 访问数据库的问题,一直苦恼着我。 很纠结的问题
查询条件 不过这种情况,对于查询效率不太好,
Restrictions.like("name", name, MatchMode.ANYWHERE));
主要是不知道Map里的数量.....
DetachedCriteria createria...
if (map!= null) {
Disjunction disjunction = Restrictions.disjunction();
for (Entry<String,Object> en:map.entrySet()) {
criteria
disjunction.add(Restrictions.like(en.getKey(), en.getValue()));
}
criteria.add(disjunction);
}
解决办法 if(orlk!=null){
Disjunction disjunction = Restrictions.disjunction();
keys = orlk.keySet().iterator();
while(keys.hasNext()){
o = keys.next();
disjunction.add(Restrictions.like(o.toString(), orlk.get(o).toString(),MatchMode.ANYWHERE));
}
criteria.add(disjunction);
}