Hibernate执行原生sql,list转换问题
来源:互联网 发布:淘宝商城赚钱的吗 编辑:程序博客网 时间:2024/05/29 15:34
通过Hibernate执行原生sql。把List转换成List<Map>
/** * 通过关键词查询标王信息 * @author zhaodong.wang * findBidKingByKeyWord(这里用一句话描述这个方法的作用) * TODO(这里描述这个方法适用条件 – 可选) */private List<Map以下是内部类,提供键值对转换> findBidKingInfoByKeyWord(String keyWord){final String sql = "select bid.key_word,u.company_id from cm_bid_king bid left join t_reg_user u on(bid.login_name=u.login_name)";return executeSQL(sql);}@SuppressWarnings("unchecked")@Overridepublic List<Map > executeSQL(final String sql) { return (List<Map >) dao.getHibertemplate().execute(new HibernateCallback() { @Override public List<Map > doInHibernate(Session session) throws HibernateException, SQLException { SQLQuery query = session.createSQLQuery(sql); query.setResultTransformer( new ResultTransformer() { private static final long serialVersionUID = 7178852496845637376L; @Override public Object transformTuple(Object[] values, String[] aliases) { if(ObjectUtils.isEmpty(aliases)) { return null; } Map rowMap = new StringKeyCaseInsensitiveMap (); for(int i = 0 ; i < aliases.length; i ++) { rowMap.put(aliases[i], values[i]); } return rowMap; } @SuppressWarnings("rawtypes") @Override public List transformList(List collection) { return collection; } }); return Collections.unmodifiableList(query.list()); } });}
private static class StringKeyCaseInsensitiveMap extends HashMap {private static final long serialVersionUID = 1L;@SuppressWarnings("unchecked")public V put(K key, V value) {if(key instanceof String) {super.put((K) (((String)key).toLowerCase()), value);} else {super.put(key, value);}return value;};@SuppressWarnings("unchecked")@Overridepublic V get(Object key) {if(key instanceof String) {return super.get((K) (((String)key).toLowerCase()));}return super.get(key);}}
- Hibernate执行原生sql,list转换问题
- hibernate执行原生sql的别名问题
- hibernate执行原生sql
- Hibernate 执行原生sql
- hibernate执行原生SQL
- Hibernate 执行原生SQL
- Hibernate执行原生sql
- 在hibernate中直接执行原生sql遇到类型转换问题
- hibernate,执行原生SQL并将结果转换为Map
- Hibernate执行原生SQL查询
- Hibernate 原生sql的执行
- Hibernate直接执行原生SQL
- [转载]hibernate执行原生sql
- Hibernate SQLQuery执行原生SQL
- Hibernate SQLQuery执行原生SQL
- hibernate 使用原生sql不能执行删除!
- 使用hibernate执行原生的sql
- 使用Hibernate SQLQuery执行原生SQL
- codesmith无法连接Mysql的解决方法
- android基础篇------------java基础(2) (运算符的种类)
- java并发之BlockingQueue和Lock以及synchronized
- F5负载均衡器的功能介绍和配置图示
- tac_plus安装和配置
- Hibernate执行原生sql,list转换问题
- 解决:EasyUI Dialog关闭后,验证提示信息仍显示在页面最上端
- python列表去重
- 43. 复制或保存冲突之保存篇
- JavaSE 基础回顾(三)——环境变量配置
- Android_HttpURLConnection_Get和Post请求
- Eclipse 3.6 安装velocity插件Veloeclipse
- 初始化块
- 5个免费项目管理工具