NHibernate HQL子选择左联接?

NHibernate HQL子选择左联接?,nhibernate,nhibernate-mapping,Nhibernate,Nhibernate Mapping,我有以下问题,非常感谢您的帮助: 我通过HQL完成了所有过滤,其中一个过滤器是左外连接,它必须是一个子选择。因此,我在这里的想法是,我可以创建一个虚拟业务对象,如果可能的话,我希望用一个SP填充数据,并在我的左连接中使用它 现在,我如何才能做到这一点,并在1HQL查询中保留所有逻辑 我想对我来说最大的问题是理解如何让这个BO实际上没有映射到表等。如何在所有其他BO都映射到表等的查询中使用它 我试图避免在实际的C代码中进行任何过滤 谢谢 例如: 实体A-映射到表A 实体B-映射到表B 实体C-映射

我有以下问题,非常感谢您的帮助:

我通过HQL完成了所有过滤,其中一个过滤器是左外连接,它必须是一个子选择。因此,我在这里的想法是,我可以创建一个虚拟业务对象,如果可能的话,我希望用一个SP填充数据,并在我的左连接中使用它

现在,我如何才能做到这一点,并在1HQL查询中保留所有逻辑

我想对我来说最大的问题是理解如何让这个BO实际上没有映射到表等。如何在所有其他BO都映射到表等的查询中使用它

我试图避免在实际的C代码中进行任何过滤

谢谢

例如:

实体A-映射到表A

实体B-映射到表B

实体C-映射到表C

实体D-未映射到表-来自SQL查询或SP

HQL: 从人民银行

内部联接B.EntityType etype

内部联接C.EntityAddressList eadr


左连接D级。lvl

您不能连接到HQL中的任意SQL。所以我认为你想做的是不可能的。您可能需要映射D,或者使用Session.CreateSQLQuery在SQL中编写查询。您仍然可以指定返回的任何实体。参考本文

您不能加入HQL中的任意SQL。所以我认为你想做的是不可能的。您可能需要映射D,或者使用Session.CreateSQLQuery在SQL中编写查询。您仍然可以指定返回的任何实体。参考本文

您能否向我们展示您的查询、相关实体以及您希望实现的目标?你的问题目前的形式有点模糊。你能告诉我们你的问题、相关实体以及你想完成什么吗?你的问题目前的形式有点模糊。