本地SQL查询
-------------------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查询的更多相关文章
- hibernate将本地SQL查询结果封装成对象
hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...
- Hibernate之QBC查询与本地SQL查询
1. QBC查询: QBC 查询就是通过使用Hibernate提供的QueryByCriteria API 来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 ...
- Hibernate的四种查询方式(主键查询,HQL查询,Criteria查询,本地sql查询)和修改和添加
Hibernate的添加,修改,查询(三种查询方式)的方法: 案例演示: 1:第一步,导包,老生常谈了都是,省略: 2:第二步,创建数据库和数据表,表结构如下所示: 3:第三步创建实体类User.ja ...
- 20 本地SQL查询
Spring Data JPA同样也支持sql语句的查询 //nativeQuery : 使用本地sql的方式查询 @Query(value="select * from customer& ...
- [原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- hibernate框架学习之数据查询(本地SQL)
本地SQL查询方式 lHibernate框架支持使用原生态SQL语句进行操作数据库 l查询对象SQLQuery由Session获取 •SQLQuery sq = s.createSQLQuery(&q ...
- Hibernate之QBC检索和本地SQL检索
QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 本地SQL查询来完善HQL ...
- Hibernate(十五):QBC检索、本地SQL检索和HQL删除
QBC检索 QBC查询就是通过使用Hibernate提供的Query By Criteria API来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口. 1)通过Cr ...
- 记一次JPA遇到的奇葩错误——本地sql不识别表名的别名
记一次JPA遇到的奇葩错误——本地sql不识别表名的别名 报错:Unknown column 'our' in 'field list' 起因:需要本地sql查询后,分页返回自定义对象.报错信息如下: ...
随机推荐
- InnoSetup 打包Winform程序
在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...
- Python 函数 -range()
range() pytho range() 函数可创建一个整数列表,一般用在 for 循环中. 语法: range(start, stop[, step]) start: 计数从 start 开始.默 ...
- Jmeter接口压测小思路
1.压力接口测试分2种:一种是单场景,压一个接口:第二种是混合场景,多个有关联的接口.压测时间,一般场景都运行10-15分钟.如果是疲劳测试,可以压一天或一周,根据实际情况定. 2.压测前要明确压测功 ...
- 初学HTML之HTML介绍
众所周知现在的H5.大数据.云计算都是热门的.其实想学好一门语言重点是多看多想多写多练. 我在博客中会从基础开始讲解HTML4.0.中间加入HTML5的新标签 在这先给大家推荐几个开发工具: note ...
- hash一致性算法
一致性hash算法是,1097麻省理工提出的分布式hashDHT实现算法,极倔internet的热点问题 平衡性 hash结果尽可能的分布到所有的缓存中去,缓冲空间利用率最高 单调性 保持已有的缓存能 ...
- python-错误
错误 Exception happened during processing of request from ('10.0.0.120', 58083) Traceback (most recent ...
- 全排列函数C++实现
例题:求由123456789构成的所有九位数字 1 用C++的next_permutation函数 #include <iostream> #include <stdio.h> ...
- rtmp发送H264及aac的音视频
RTMP推送的音视频流的封装形式和FLV格式相似,由此可知,向FMS推送H264和AAC直播流,需要首先发送"AVC sequence header"和"AAC sequ ...
- flv 解封装
#include <stdio.h> #include <stdlib.h> #include <string.h> #define DEBUG_INFO type ...
- windows平台最简单的rtmp/hls流媒体服务器
feature: rtmp/hls live server for windows, double click to run,don't need config. run and quit: doub ...