Hibernate查询问题

来逗她 2013-01-24 11:11:58
Info表实体有
String name;
String type;
现在有多个name和type的组合List<Map<String,String>>,怎么写Hibernate查询语句,可以一次查询返回所有匹配组合的Info表数据,即返回一个List<Info>
...全文
131 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BUG胡汉三 2013-01-24
  • 打赏
  • 举报
回复
引用 4 楼 mking6100 的回复:
引用 3 楼 mking6100 的回复:只以name为查询条件的话就是"select a from BadUrl a where a.name in ?" ?=List<name>,但是以name和type作为查询条件,就不会了,哪位好心人帮忙解答下。 ?是 List<String> nameList

/*
		 * 如果key为(type)值为(name)
		 */
		List<Map<String,String>> list = new ArrayList<Map<String,String>>();
		String typeKey ="",name ="";
		for (Map<String, String> map : list) {
	        Set<String> key = map.keySet();
	        for (Iterator<String> it = key.iterator(); it.hasNext();) {
	        	typeKey += ",'"+it.next()+"'";  //type
	        	name = ",'"+map.get(typeKey)+"'";  //name
			}
		}
		if(!typeKey.trim().equals("")) typeKey = typeKey.substring(1); //截取第一个逗号","
		if(!name.trim().equals("")) name = name.substring(1); //截取第一个逗号","
		String hql = " select a from BadUrl a where a.name in ("+name+") and a.type in ("+typeKey+") ";
来逗她 2013-01-24
  • 打赏
  • 举报
回复
引用 3 楼 mking6100 的回复:
只以name为查询条件的话就是"select a from BadUrl a where a.name in ?" ?=List<name>,但是以name和type作为查询条件,就不会了,哪位好心人帮忙解答下。
?是 List<String> nameList
来逗她 2013-01-24
  • 打赏
  • 举报
回复
只以name为查询条件的话就是"select a from BadUrl a where a.name in ?" ?=List<name>,但是以name和type作为查询条件,就不会了,哪位好心人帮忙解答下。
来逗她 2013-01-24
  • 打赏
  • 举报
回复
引用 1 楼 hzw2312 的回复:
用一个hql查询就搞定了啊!!! "from info" 然后返回的就是List<Info>
把List<Map<String,String>>作为查询条件,主要是查询条件不会写
BUG胡汉三 2013-01-24
  • 打赏
  • 举报
回复
用一个hql查询就搞定了啊!!! "from info" 然后返回的就是List<Info>

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧