PublicList<map<string,object>> findbysql (String sql,map<string,object> param,intStartintmax) {Log.debug ("Finding List by Hql"); Try {
The last key to return to the map map SQLQuery query for aliases and database fields=sessionfactory.getcurrentsession (). createsqlquery (SQL); Query.setresulttransformer (TRANSFORMERS.ALIAS_TO_ENTITY_MAP); //traversing param insert Parameters if(param!=NULL) { for(Map.entry<string, object>Entry:param.entrySet ()) {Object obj=Entry.getvalue (); //here, consider what type of arguments are passed in, how different types of methods are used, and how hibernate passes through the list if(objinstanceofCollection<?>) {query.setparameterlist (Entry.getkey (), (Collection<?>) (obj); }Else if(objinstanceofobject[]) {query.setparameterlist (Entry.getkey (), (object[]) obj); }Else{query.setparameter (Entry.getkey (), obj); }}} query.setfirstresult (start);//Start Pageif(max!=0{query.setmaxresults (max);//pages per page} List<Map<String,Object>> results =query.list (); Log.debug ("Find list successful, result size:" +results.size ()); returnresults; } Catch(RuntimeException re) {Log.error ("Find list Failed", re); Throwre; } }
Note that when an array is passed in, int is not part of
Object[] or
Collection<?>
Array incoming required for encapsulation class
Hibernate Basic Tools Findbysql Learning