NHibernate Eager Load

时间:2012-10-18 10:25:30

标签: nhibernate hql eager-loading

我有一个具有以下HQL的应用程序:

select distinct p from Position p
inner join fetch p.RequiredSkills rs
inner join fetch rs.Skill s
where s.Id in (:skills)

我搜索了该位置具有搜索技能的位置。

目前,hql可以使用该技能返回位置,但它只获取过滤后的技能。

我现在想要返回与该职位相关的所有技能。

我有什么方法可以这样做吗?

干杯,

詹姆斯

1 个答案:

答案 0 :(得分:2)

您可以尝试使用子查询:

select distinct p from Position p 
inner join fetch p.RequiredSkills rs 
inner join fetch rs.Skill s where p.Id in 
( select distinct pi.Id from Position pi
  inner join pi.RequiredSkills rsi
  inner join rsi.Skill si
  where si.Id in (:skills) )