Info表实体有
String name;
String type;
现在有多个name和type的组合List<Map<String,String>>,怎么写Hibernate查询语句,可以一次查询返回所有匹配组合的Info表数据,即返回一个List<Info>

解决方案 »

  1.   

    用一个hql查询就搞定了啊!!!
    "from info"
    然后返回的就是List<Info>
      

  2.   

    把List<Map<String,String>>作为查询条件,主要是查询条件不会写
      

  3.   

    只以name为查询条件的话就是"select a from BadUrl a where a.name in ?" ?=List<name>,但是以name和type作为查询条件,就不会了,哪位好心人帮忙解答下。
      

  4.   

    ?是 List<String> nameList
      

  5.   


    /*
     * 如果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+") ";