setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)的使用
来源:互联网 发布:十万块钱怎么理财 知乎 编辑:程序博客网 时间:2024/05/22 02:16
今天在做一个Hibernate项目时,当我用SQL进行关联查询的时候,SQL语句及代码如下:
StringBuffer queryBuffer = new StringBuffer();queryBuffer.append("SELECT lu.loginUserName as loginusername,l.opage as opage,l.userid as userid,"
+"l.operation as operation,l.sum as sum,l.otime as optime "
+"from LoginUser lu RIGHT JOIN Log l on l.userid=lu.id where 1=1 ");
DaoCommon.setCacheable(false);
DaoCommon.setQueryBufferForAccurateSearch(queryBuffer, log);
DaoCommon.setQueryBuffer(queryBuffer, log.getBeginDate(), " and to_char(l.otime, 'yyyy-MM-dd') >= :beginDate ");
DaoCommon.setQueryBuffer(queryBuffer, log.getFinalDate(), " and to_char(l.otime, 'yyyy-MM-dd') <= :finalDate ");
Query query = this.getHibernateDataDAO().getDAOSession().createQuery(queryBuffer.toString());
DaoCommon.setQueryValueForAccurateSearch(query, log);
DaoCommon.setQueryValue(query, log.getBeginDate(), "beginDate", DateUtils.format("yyyy-MM-dd",log.getBeginDate()));
DaoCommon.setQueryValue(query, log.getFinalDate(), "finalDate", DateUtils.format("yyyy-MM-dd", log.getFinalDate()));
DaoCommon.setQueryPager(query, pager);
//return (List<Log>)query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
return query.list();
刚开始的时候执行程序会报:loginuser is not mapped,之后各种百度发现需要将表名第一个字母大写HQL才会识别表名
当这个错误解决完后,再执行就又报说我的SQL语句错误,原来.createQuery()执行的是HQL语句,自己写的是地道的SQL语句,所以应该调用createSQLQuery()方法、
这些问题解决完了,我发现数据是查出来了,但是在页面端使用ajax无法获取字段值,跳了无数次坑后才发现了最好的解决方法将代码改为如下:
queryBuffer.append("SELECT lu.loginUserName as loginusername,l.opage as opage,l.userid as userid,"
+"l.operation as operation,l.sum as sum,l.otime as optime "
+"from LoginUser lu RIGHT JOIN Log l on l.userid=lu.id where 1=1 ");
DaoCommon.setCacheable(false);
DaoCommon.setQueryBufferForAccurateSearch(queryBuffer, log);
DaoCommon.setQueryBuffer(queryBuffer, log.getBeginDate(), " and to_char(l.otime, 'yyyy-MM-dd') >= :beginDate ");
DaoCommon.setQueryBuffer(queryBuffer, log.getFinalDate(), " and to_char(l.otime, 'yyyy-MM-dd') <= :finalDate ");
Query query = this.getHibernateDataDAO().getDAOSession().createSQLQuery(queryBuffer.toString());
DaoCommon.setQueryValueForAccurateSearch(query, log);
DaoCommon.setQueryValue(query, log.getBeginDate(), "beginDate", DateUtils.format("yyyy-MM-dd",log.getBeginDate()));
DaoCommon.setQueryValue(query, log.getFinalDate(), "finalDate", DateUtils.format("yyyy-MM-dd", log.getFinalDate()));
DaoCommon.setQueryPager(query, pager);
return (List<Log>)query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
采用setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list()方法返回一个LIst,但是List中的字段是以Map形式封装的,但是该方法有一坑就是在页面端取数据时,Key的大小写一定要与数据库中的字段一致,否则,即使你查处结果,你也无法获取
- setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)的使用
- .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
- .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
- setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)
- 写在hibernate里面的sql setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
- Hibernate 的原生sql查询转map setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)
- 直接返回查询信息对应的表头信息-----setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);
- hibernate setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)
- Hibernate原生SQL(createSQLQuery,通过Transformers.ALIAS_TO_ENTITY_MAP设置生成MAP)查询,自动读取ORACLE CLOB内容的解决方案
- 调用play的jpa查询数据时添加Transformers.ALIAS_TO_ENTITY_MAP可将结果集封装到list<map>对象里
- hibernate 的Transformers的使用注意
- Hibernate 中setResultTransformer使用
- Hibernate 中setResultTransformer使用
- setResultTransformer的用法
- setResultTransformer
- transformers
- Hibernate 中setResultTransformer的作用
- hibernate 使用sql 查询利用setResultTransformer查询出封装好的VO对象
- request
- 转:百度MySql5.7安装配置
- 关于安卓实现简单的微信盆友圈分享
- BIOS没有开启虚拟化问题disabled by bios
- 使用 PHP 解析 User agent 信息
- setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)的使用
- 华为OJ------高精度整数加法
- js 笔记
- ubuntu keepalived 安装
- Unity内建的Shader
- Android webView 缓存 Cache + HTML5离线功能 解决
- CakePHP系列(二)----Bookmarker案例(一)
- 使用 LVS 实现负载均衡原理及安装配置详解
- grub中的import_unicode.py 分析之二