Hibernate- 连接查询
01.搭建开发环境
02.连接查询
package com.gordon.test; import java.util.Arrays;
import java.util.List; import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test; import com.gordon.domain.Book;
import com.gordon.domain.Publisher;
import com.gordon.utils.HibernateUtil; /**
* 连接查询
* @author Administrator
*/
public class TestDemo5 { /**
* 连接查询-右外连接
* 查询结果
Hibernate:
select
book0_.id as id1_0_0_,
publisher1_.id as id1_1_1_,
book0_.name as name2_0_0_,
book0_.price as price3_0_0_,
book0_.publisher_id as publishe4_0_0_,
publisher1_.name as name2_1_1_
from
t_book book0_
left outer join
t_publisher publisher1_
on book0_.publisher_id=publisher1_.id
云计算技术及性能优化
---电子工业出版社
C语言程序设计
---电子工业出版社
中国冰雪梦
---电子工业出版社
Photoshop图形图像处理
---北京大学出版社
VisualBasic2015实践教程
---北京大学出版社
生产微服务
---人民邮电出版社
架构探险:轻量级微服务架构(下册)
---人民邮电出版社
*/
@Test
public void run4() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); String hql = "from Book b right join b.publisher p";
Query query = session.createQuery(hql); Book b = null;
Publisher p = null; List<Object[]> list = query.list();
for (Object[] book : list) { b = (Book) book[0];
p = (Publisher) book[1]; System.out.println(b.getName());
System.out.println("---" + p.getName());
} transaction.commit();
} /**
* 连接查询-左外连接
* 查询结果
Hibernate:
select
book0_.id as id1_0_0_,
publisher1_.id as id1_1_1_,
book0_.name as name2_0_0_,
book0_.price as price3_0_0_,
book0_.publisher_id as publishe4_0_0_,
publisher1_.name as name2_1_1_
from
t_book book0_
left outer join
t_publisher publisher1_
on book0_.publisher_id=publisher1_.id
云计算技术及性能优化
---电子工业出版社
C语言程序设计
---电子工业出版社
中国冰雪梦
---电子工业出版社
Photoshop图形图像处理
---北京大学出版社
VisualBasic2015实践教程
---北京大学出版社
生产微服务
---人民邮电出版社
架构探险:轻量级微服务架构(下册)
---人民邮电出版社
*/
@Test
public void run3() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); String hql = "from Book b left join b.publisher p";
Query query = session.createQuery(hql); Book b = null;
Publisher p = null; List<Object[]> list = query.list();
for (Object[] book : list) { b = (Book) book[0];
p = (Publisher) book[1]; System.out.println(b.getName());
System.out.println("---" + p.getName());
} transaction.commit();
} /**
* 连接查询-隐式内连接
* 查询结果
Hibernate:
select
book0_.id as id1_0_0_,
publisher1_.id as id1_1_1_,
book0_.name as name2_0_0_,
book0_.price as price3_0_0_,
book0_.publisher_id as publishe4_0_0_,
publisher1_.name as name2_1_1_
from
t_book book0_ cross
join
t_publisher publisher1_
where
book0_.publisher_id=publisher1_.id
云计算技术及性能优化
---电子工业出版社
C语言程序设计
---电子工业出版社
中国冰雪梦
---电子工业出版社
Photoshop图形图像处理
---北京大学出版社
VisualBasic2015实践教程
---北京大学出版社
生产微服务
---人民邮电出版社
架构探险:轻量级微服务架构(下册)
---人民邮电出版社
*/
@Test
public void run2() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); String hql = "from Book b, Publisher p where b.publisher = p";
Query query = session.createQuery(hql); Book b = null;
Publisher p = null; List<Object[]> list = query.list();
for (Object[] book : list) { b = (Book) book[0];
p = (Publisher) book[1]; System.out.println(b.getName());
System.out.println("---" + p.getName());
} transaction.commit();
} /**
* 连接查询-显示内连接
* 查询结果
Hibernate:
select
book0_.id as id1_0_0_,
publisher1_.id as id1_1_1_,
book0_.name as name2_0_0_,
book0_.price as price3_0_0_,
book0_.publisher_id as publishe4_0_0_,
publisher1_.name as name2_1_1_
from
t_book book0_
inner join
t_publisher publisher1_
on book0_.publisher_id=publisher1_.id
云计算技术及性能优化
---电子工业出版社
C语言程序设计
---电子工业出版社
中国冰雪梦
---电子工业出版社
Photoshop图形图像处理
---北京大学出版社
VisualBasic2015实践教程
---北京大学出版社
生产微服务
---人民邮电出版社
架构探险:轻量级微服务架构(下册)
---人民邮电出版社
*/
@Test
public void run1() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); String hql = "from Book b inner join b.publisher";
Query query = session.createQuery(hql); Book b = null;
Publisher p = null; List<Object[]> list = query.list();
for (Object[] book : list) { b = (Book) book[0];
p = (Publisher) book[1]; System.out.println(b.getName());
System.out.println("---" + p.getName());
} transaction.commit();
}
}
Hibernate- 连接查询的更多相关文章
- hibernate连接查询
Hibernate的HQL语言类似于SQL语言,更适合于Java面向对象的思想. 类与数据库映射好了,不必考虑数据库. 实现Class1的表与Class2的表的联合查询: Class1的class2属 ...
- Hibernate批量处理数据、HQL连接查询
一.批量处理操作 批量处理数据是指在一个事务场景中处理大量数据.在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作 数据库层面 ...
- hibernate 实现多表连接查询(转载)
http://www.cnblogs.com/lihuiyy/archive/2013/03/28/2987531.html 为了方便,直接粘过来,方便查看.不收藏了 Hibernate主要支持两种查 ...
- Hibernate的查询,二级缓存,连接池
Hibernate的查询,二级缓存,连接池 1.Hibernate查询数据 Hibernate中的查询方法有5中: 1.1.Get/Load主键查询 使用get或者load方法来查询,两者之间的区别在 ...
- Hibernate【查询、连接池、逆向工程】
前言 在Hibernate的第二篇中只是简单地说了Hibernate的几种查询方式....到目前为止,我们都是使用一些简单的主键查询阿...使用HQL查询所有的数据....本博文主要讲解Hiberna ...
- Hibernate批量处理数据、[HQL连接查询]
一.批量处理操作 批量处理数据是指在一个事务场景中处理大量数据.在应用程序中难以避免进行批量操作,Hibernate提供了以下方式进行批量处理数据: (1)使用HQL进行批量操作 数据库层面 (2)使 ...
- Hibernate-ORM:13.Hibernate中的连接查询
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客将会解释Hibernate中的连接查询(各种join) 一,目录 1.内链接 1.1显式内连接(inn ...
- 【学习笔记】Hibernate HQL连接查询和数据批处理 (Y2-1-7)
HQL连接查询 和SQL查询一样 hql也支持各种链接查询 如内连接 外连接 具体如下 左外连接 left (outer) join 迫切左外连接 left (outer) join fetch 右外 ...
- 转: Hibernate HQL查询 插入 更新(update)实例
1.实体查询:有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子:String hql=”from User user ”;List list=session.CreateQuery(hq ...
- Hibernate的查询方式总结
Hibernate的查询方式大体有三种,分别是HQL QBC和SQL三种.在网上查阅一一些资料,做了一个简单的总结. 1. SQL sql 是面向数据库表查询,from 后面跟的是表名,where 后 ...
随机推荐
- PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键
PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner ...
- 转inux Shell编程入门
http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来 ...
- BIP_BI Pubisher的SQL/XSL/FO扩展函数应用(概念)
2014-12-01 Created By BaoXinjian
- EXTJS 5 学习笔记1 - Class System
1. Name Conventions 命名规范 1) Classes 类 a. 类名只能包含数字字母 only contain alphanumeric characte ...
- eclipse软件与git配合使用创建git仓库
一.在eclipse上安装git,和安装其他插件一样 help->Install new software->add... 在弹出框中输入name:git,location:http:// ...
- ORM是什么?
对象关系映射(Object Relational Mapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用描述对象和数据库之间映射的元数据 ...
- dubbo-admin 管理台的部署
首先上传dubbo-admin的war包 参考链接: http://www.open-open.com/lib/view/open1454043410245.html
- HDU 4968 Improving the GPA(dp)
HDU 4968 Improving the GPA 题目链接 dp.最大最小分别dp一次,dp[i][j]表示第i个人,还有j分的情况,分数能够减掉60最为状态 代码: #include <c ...
- TensorFlow人脸识别
TensorFlow框架做实时人脸识别小项目(一)https://blog.csdn.net/Goerge_L/article/details/80208297 TensorFlow框架做实时人脸识别 ...
- 8个非常实用的PHP安全函数,你知道几个?
原文:Useful functions to provide secure PHP application 译文:实用的PHP安全函数 译者:dwqs 安全是编程很重要的一个方面.在不论什么一种编程语 ...