-------------------siwuxie095

本地 SQL 查询

1、简单介绍

采用 HQL 或 QBC 查询时,Hibernate 生成标准的 SQL 语句,

适用于所有的数据库平台,因此这两种查询方式都是跨平台的

但有的数据库可能需要底层数据库的 SQL 方言,来生成一些

特殊的查询语句

此时,可以使用 Hibernate 提供的本地 SQL 查询

2、使用 SQLQuery 对象实现本地 SQL 查询

以客户和联系人为例(一对多)

如:

/*

* (1) 创建 SQLQuery 对象

*

* 调用 session 的 createSQLQuery() 方法,

* 参数是本地 sql 语句,返回值是 SQLQuery

* 类型,创建以接收

*/

SQLQuery sqlQuery=session.createSQLQuery("select * from t_customer");

/*

* (2) 调用方法得到结果

*

* 调用 sqlQuery 的 list() 方法,返回值是 List 类

* 型,创建以接收

*

* 注意:此时返回的 List 的每部分都是一个数组,而

* 不是 Customer 对象,所以指定泛型为 Object[]

*/

List<Object[]> list=sqlQuery.list();

for (Object[] objects : list) {

//Arrays.toString() 将数组作为字符串输出

System.out.println(Arrays.toString(objects));

}

修改:让返回的 List 中每部分都是一个 Customer 对象

/*

* (1) 创建 SQLQuery 对象

*/

SQLQuery sqlQuery=session.createSQLQuery("select * from t_customer");

/*

* (2) 让返回的 List 中每部分都是一个 Customer 对象

*

* 调用 sqlQuery 的 addEntity() 方法,参数是实体类的

* class,设置要将数据放到哪个实体类的对象中

*/

sqlQuery.addEntity(Customer.class);

/*

* (3) 调用方法得到结果

*/

List<Customer> list=sqlQuery.list();

【made by siwuxie095】

本地SQL查询的更多相关文章

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

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

  2. Hibernate之QBC查询与本地SQL查询

    1. QBC查询:     QBC 查询就是通过使用Hibernate提供的QueryByCriteria API 来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 ...

  3. Hibernate的四种查询方式(主键查询,HQL查询,Criteria查询,本地sql查询)和修改和添加

    Hibernate的添加,修改,查询(三种查询方式)的方法: 案例演示: 1:第一步,导包,老生常谈了都是,省略: 2:第二步,创建数据库和数据表,表结构如下所示: 3:第三步创建实体类User.ja ...

  4. 20 本地SQL查询

    Spring Data JPA同样也支持sql语句的查询 //nativeQuery : 使用本地sql的方式查询 @Query(value="select * from customer& ...

  5. [原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. hibernate框架学习之数据查询(本地SQL)

    本地SQL查询方式 lHibernate框架支持使用原生态SQL语句进行操作数据库 l查询对象SQLQuery由Session获取 •SQLQuery sq = s.createSQLQuery(&q ...

  7. Hibernate之QBC检索和本地SQL检索

    QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 本地SQL查询来完善HQL ...

  8. Hibernate(十五):QBC检索、本地SQL检索和HQL删除

    QBC检索 QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口. 1)通过Cr ...

  9. 记一次JPA遇到的奇葩错误——本地sql不识别表名的别名

    记一次JPA遇到的奇葩错误——本地sql不识别表名的别名 报错:Unknown column 'our' in 'field list' 起因:需要本地sql查询后,分页返回自定义对象.报错信息如下: ...

随机推荐

  1. InnoSetup 打包Winform程序

    在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...

  2. Python 函数 -range()

    range() pytho range() 函数可创建一个整数列表,一般用在 for 循环中. 语法: range(start, stop[, step]) start: 计数从 start 开始.默 ...

  3. Jmeter接口压测小思路

    1.压力接口测试分2种:一种是单场景,压一个接口:第二种是混合场景,多个有关联的接口.压测时间,一般场景都运行10-15分钟.如果是疲劳测试,可以压一天或一周,根据实际情况定. 2.压测前要明确压测功 ...

  4. 初学HTML之HTML介绍

    众所周知现在的H5.大数据.云计算都是热门的.其实想学好一门语言重点是多看多想多写多练. 我在博客中会从基础开始讲解HTML4.0.中间加入HTML5的新标签 在这先给大家推荐几个开发工具: note ...

  5. hash一致性算法

    一致性hash算法是,1097麻省理工提出的分布式hashDHT实现算法,极倔internet的热点问题 平衡性 hash结果尽可能的分布到所有的缓存中去,缓冲空间利用率最高 单调性 保持已有的缓存能 ...

  6. python-错误

    错误 Exception happened during processing of request from ('10.0.0.120', 58083) Traceback (most recent ...

  7. 全排列函数C++实现

    例题:求由123456789构成的所有九位数字 1 用C++的next_permutation函数 #include <iostream> #include <stdio.h> ...

  8. rtmp发送H264及aac的音视频

    RTMP推送的音视频流的封装形式和FLV格式相似,由此可知,向FMS推送H264和AAC直播流,需要首先发送"AVC sequence header"和"AAC sequ ...

  9. flv 解封装

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define DEBUG_INFO type ...

  10. windows平台最简单的rtmp/hls流媒体服务器

    feature: rtmp/hls live server for windows, double click to run,don't need config. run and quit: doub ...