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 关键字