NHibernate - HQL和深入内部联接

时间:2011-11-10 12:13:59

标签: nhibernate join hql depth

我想知道那些有“间谍”类型的卫星和人类物种的行星的物质。

我在编写不同深度级别的多个内部联接时遇到困难。

以下是我的尝试之一:

select gal from Galaxy gal inner join gal.PlanetList planets
inner join planets.SattelitesList satts,
planets inner join planets.SpeciesList spec 
where spec.Name = 'Human' AND satts.Type = 'Spy'

我知道这有效,但它只有一个深度分支(就像二叉树的一个分支):

select gal from Galaxy gal inner join gal.PlanetList planets
inner join planets.SattelitesList satts where satts.Type ='Spy'

由于

1 个答案:

答案 0 :(得分:3)

这样不行吗?

from
  gal from Galaxy gal 
  join gal.PlanetList planets
  join planets.SattelitesList satts
  join planets.SpeciesList spec 
where spec.Name = 'Human' AND satts.Type = 'Spy'