Hibernate支持的连接查询

1、内连接(普通连接/自然连接)(inner join / join)

2、左外连接(left outer join / left join)

3、右外连接(right outer join / right join)

4、全外连接(full outer join / full join)

5、迫切内连接(join fetch)

6、迫切左外连接(left join fetch)

 

例子:

a表:

b表:

 

 

内连接:

左外连接:

右外连接:

全外连接:

迫切左外连接:
关键字:LEFT JOIN FETCH.
–list() 方法返回的集合中存放实体对象的引用, 每个 Department 对象关联的 Employee  集合都被初始化, 存放所有关联的 Employee 的实体对象.
–查询结果中可能会包含重复元素, 可以通过一个 HashSet 来过滤重复元素
•左外连接:
关键字:LEFT JOIN.
–list() 方法返回的集合中存放的是对象数组类型
–根据配置文件来决定 Employee 集合的检索策略.

如果希望 list() 方法返回的集合中仅包含 Department 对象, 可以在HQL 查询语句中使用 SELECT 关键字

 

迫切内连接:
关键字:INNER JOIN FETCH , 也可以省略 INNER 关键字
–list() 方法返回的集合中存放 Department 对象的引用, 每个 Department 对象的 Employee 集合都被初始化, 存放所有关联的 Employee 对象
•内连接:
关键字:INNER JOIN, 也可以省略 INNER 关键字
–list() 方法的集合中存放的每个元素对应查询结果的一条记录, 每个元素都是对象数组类型
–如果希望 list() 方法的返回的集合仅包含 Department  对象, 可以在 HQL 查询语句中使用 SELECT 关键字

 

posted @ 2017-03-16 15:22  XH_Chiang  阅读(634)  评论(0编辑  收藏  举报