Hibernate SQLQuery sql查询对结果处理方式一:

String sql = "select user_id userId,create_Time createTime from user";SQLQuery query = session.createSQLQuery(sql);query.setResultTransformer(Transformers.aliasToBean(User.class));query.addScalar("userId",StandardBasicTypes.INTEGER);query.addScalar("createTime",StandardBasicTypes.TIMESTAMP);List<User> list = query.list();

使用setResultTransfromer可以指定一个类存储一个查询结果,类里面的属性必须和查询结果的字段名称一致,是通过set方法设值的。在较低的hibernate版本里需要使用到

 query.addScalar("userId",StandardBasicTypes.INTEGER);来说明别名的类型(Mysql的一个bug,高版本不会出现这个问题),在使用的JSON-lib,将数据装成JSON时,对于java.util.Date类型(数据库字段类型为dateTime)时,StandardBasicTypes对应的是TIMESTAMP,否则会报net.sf.json.JSONException: java.lang.reflect.InvocationTargetException ,json-lib不能装换java.sql.Date的数据。类里的时间String会比较好点,Date转换成JSON后格式{"date":27,"day":0,"hours":20,"minutes":41,"month":9,"nanos":0,"seconds":51,"time":1382877711000,"timezoneOffset":-480,"year":113},而String是"testDate":"2013-10-27 20:41:51.0"。 Mysql dateTime与timestamp比较使用setResultTransfromer好处:类里面的字段不用与数据库关联,在不查与数据库对应的属性时,程序不会报异常。

Hibernate SQLQuery sql查询对结果处理方式二:
String sql = "select * from User";SQLQuery query = session.createSQLQuery(sql);query.addEntity(User.class);

这种方式要求user类与数据库对应的属性必须都要查出来,否则会报Column xxx(没有查出来的但与数据库有关联的属性) not found.

转载于:https://www.cnblogs.com/visoncheng/p/3391289.html

Hibernate SqlQuery相关推荐

  1. Spring Hibernate sqlquery 查询结果 缓存问题

    问题描述:当我们使用Spring+Hibernate框架的Web工程时,在Action中的一个方法中使用SQLQuery查询,第二次查询时,得到的结果集不是最近的数据库数据.就是第一次查询后,更新数据 ...

  2. hibernate SQLQuery实践指南

    2019独角兽企业重金招聘Python工程师标准>>> 准备: 两个表(实体), 1对多双向关联: 班级: Clazz (id, name) 学生: Student(id, name ...

  3. hibernate 初学 第一个例子

    2019独角兽企业重金招聘Python工程师标准>>> 闲来没事,就把hibernate也给学了吧. 首先,上配置文件: <?xml version='1.0' encodin ...

  4. hibernate EJBQL QBC QBE

    在功能方面是本地SQL>HQL>EJBQL>QBC>QBE 假想一个BBS. 板块: package com.bjsxt.hibernate; import javax.per ...

  5. hibernate教程--常用配置和核心API详解

    一.Hibernate的常用的配置及核心API. 1.1 Hibernate的常见配置: 1.1.1.核心配置: 核心配置有两种方式进行配置:  1)属性文件的配置: * hibernate.prop ...

  6. hibernate教程--常用配置和核心API

    一.Hibernate的常用的配置及核心API. 1.1Hibernate的常见配置: 1.1.1.核心配置: 核心配置有两种方式进行配置: 1)属性文件的配置: * hibernate.proper ...

  7. spring 集成hibernate 连接多数据库 java BaseDao 实现

    2019独角兽企业重金招聘Python工程师标准>>> package com.htjf.dao.impl; import java.io.IOException; import j ...

  8. hibernate将本地SQL查询结果封装成对象

    hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...

  9. Hibernate框架基本使用

    时间:2017-1-16 00:36 --什么是Hibernate Hibernate是一个开放源代码的关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操 ...

最新文章

  1. 【错误记录】Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )
  2. java rhino import_java调用javascript :js引擎rhino
  3. PHP设计模式之装饰者模式
  4. thinkphp5模拟post请求_Thinkphp5.1模拟登录并提交form表单
  5. 驱动列举进程输出到应用层
  6. 关于互斥锁,条件变量的内核源码解析
  7. 【GIS风暴】GIS拓扑关系原理详解
  8. java查询数据库的方式_Java连接各种数据库方式速查表
  9. oracle 10g express linux,在Ubuntu下安装Oracle Database 10g Express Edition
  10. 如何在ashx里提取context.Request.Files?
  11. atitit.商业版 源码保护 与 java本地原生代码转换 的方案总结
  12. ubuntu18.04 端口转发工具 Rinetd
  13. 华硕aura完全卸载_GeForce RTX元气满满萌娘来袭 华硕天选游戏本开箱评测
  14. 瘦AP如何连接到无线控制器AC
  15. 语音识别中的WFST和语言模型
  16. 计算机常用英语大全 (中英文对照)
  17. 入门Python数据挖掘与机器学习(附代码、实例)
  18. 微信小程序---wxss常用属性
  19. 喂,你是在学习还是在逃避?
  20. 智能控制 复习资料之第三章专家系统

热门文章

  1. Dijkstra算法 最短路径
  2. 图解算法之排序算法(2)——选择排序
  3. 我的第一本算法书(图解算法)——什么是哈希表
  4. arraylist插入数据_集合系列 List(二):ArrayList
  5. DeFi信用合作社Xend Finance将于今日23时通过Balancer LBP开启公募
  6. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌5.04%
  7. C. Valera and Elections DFS
  8. 被除数是负数的话,为啥要加上偏移量?
  9. ubuntu 16.04 + zabbix 3.4 + postgresql libzbxpgsql
  10. Scheme报错define-values: assignment disallowed; cannot change constant