在连接Hibernate中获取关联

时间:2018-04-03 03:10:29

标签: java hibernate hql lazy-loading jpql

我是Hibernate的新手,在浏览连接中的提取关联时,我遇到了以下问题:

em.createQuery(select guide from Guide guide join fetch guide.Students students);

sql中的上述查询如下:

select 
guide0_id as id_1_2_0,
students1_id as id_1_6_1,
guide0_name as name_2_2_0,
students1_guide_id as guide_id_4_6_1....

学生和导游与学生是关系的所有者有很多关系。上面的查询也会获取学生的详细信息,即使默认情况下指南是延迟加载的。 我的问题是,如果我们的目的是让学生参与select子句以及上面的SQL中所见,为什么我们不能做一个简单的事情:

em.createQuery(select guide,students from Guide guide join guide.Students 
students);

students子句中添加select列?

2 个答案:

答案 0 :(得分:2)

  

即使指南在默认情况下延迟加载

,上述查询也会获取学生的详细信息

因为您已经使用过' join fetch'而不只是“加入”,你会急切地加载学生。

答案 1 :(得分:0)

export interface imageData = { smallImage: string, bigImage: string }
export interface imageCollection { images: imageData[], selectedImage: string }