左连接
迫切左外连接:
LEFT JOIN FETCH 关键字表示迫切左外连接检索策略.
list() 方法返回的集合中存放实体对象的引用, 每个 Department 对象关联的 Employee 集合都被初始化, 存放所有关联的 Employee 的实体对象.
- 查询结果中可能会包含重复元素, 可以通过一个 HashSet 来过滤重复元素
/*
* 测试迫切左外连接(查询一方的时候,就已经将另外一端的数据初始化好了,即使一方没有另外一方的对应数据也要强制查询出来)
*/
@Test
void testLeftJoinFetch() {
//查询部门id等于员工id的所有记录的条数(有重复)
// String hql = "from Department d left join fetch d.emps ";
//方式一去重:通过关键字distinct去重(有几个部门就初始化几个Department对象即可,但是在数据库中显示所有员工的记录数+没有员工的部门记录记录数)
// String hql = "select distinct d from Department d left join fetch d.emps ";
//方式二去重:通过linkedHashSet集合属性
String hql = "from Department d left join fetch d.emps";
List<Department> list = this.s

本文详细探讨了Hibernate中的左连接和迫切连接,包括迫切左外连接和左外连接的实现,以及如何使用LEFT JOIN FETCH和LEFT JOIN进行查询。同时,提到了迫切内连接的用法,并指出在HQL查询中如何指定检索策略。文章还强调了在没有明确指定检索策略时,HQL会遵循映射文件配置。
1302

被折叠的 条评论
为什么被折叠?



