我正在尝试从一个查询中获取3个表中的数据。我有“Workexperiences”,“Skills”和“Descriptions”。这个想法是,一个Workexperience有多个与它相关的技能和多个描述。我试图从一个专业的雇主那里查询所有的Workexperiences(Workexperience表有一个“EmployerId”专栏)。
我开始提取描述,这有效:
select distinct w from Workexperience w
left join fetch w.skills
where w.employer=(select e from Employer e where e.username = :username)
这给了我所有的Workexperiences他们的技能,到目前为止一切都很好。 当我尝试添加描述时,它变坏了:
select distinct w from Workexperience as w
left join fetch w.skills
left join fetch w.descriptions
where w.employer=(select e from Employer e where e.username = :username)
这给了我经典的lazyinitializationexception。
所以我的问题是:你能在一个查询中使用多个'left join fetch'语句吗?如果是这样,你怎么做?
提前致谢!