Nhibernate HQL子选择查询

Nhibernate HQL子选择查询,nhibernate,hql,Nhibernate,Hql,我有以下SQL查询: select c.id from (select id from customers) c 这个查询没有实际价值——为了写这篇文章,我对它进行了极大的简化 我的问题是:是否可以在from子句中使用HQL进行子查询。如果不是,我是否可以先查询客户,有点像sql中的临时表,然后将结果用作下一次查询的源 谢谢是的,这是可能的 上述查询可以在HQL中写成: select Id from Customer where Id in (select Id from Customer)

我有以下SQL查询:

select c.id
from (select id from customers) c
这个查询没有实际价值——为了写这篇文章,我对它进行了极大的简化

我的问题是:是否可以在from子句中使用HQL进行子查询。如果不是,我是否可以先查询客户,有点像sql中的临时表,然后将结果用作下一次查询的源

谢谢

是的,这是可能的

上述查询可以在HQL中写成:

select Id
from Customer
where Id in (select Id from Customer)

我自己也遇到过这个问题。我花了一段时间才意识到hql不支持from子句中的子查询


请参阅hql文档中的第14.13节。

我尝试过它,但不起作用。但是,当我更改子查询时,它会正常工作。对不起,你是对的。它确实支持子查询,但不是所有子查询。我正在改变我的答案。是的,这似乎很好——还有其他解决办法吗。我不喜欢IN子句-如果customers表包含1000个条目会发生什么…您可能会遇到一些内存问题。实际查询可能不会出现这种情况(上面的查询没有多大意义)。想贴些更接近真实的吗?