【问题标题】:combining QueryOver and CreateQuery subquery结合 QueryOver 和 CreateQuery 子查询
【发布时间】:2015-01-26 14:37:39
【问题描述】:

我正在使用 QueryOver 使用连词执行一系列子查询。这是一些解释我在做什么的伪代码:

Conjunction conj = new Conjunction();
conj.Add(Subqueries.WhereProperty<Customer>(...).In(QueryOver.Of<Foo>().Where(...));
conj.Add(Subqueries.WhereProperty<Customer>(...).In(QueryOver.Of<Bar>().Where(...));

var result = session.QueryOver<Customer>()
                    .Where(conj)
                    .List();

这很好用,但我遇到了一种情况,我需要将 HQL (CreateQuery()) 用于我的一个子查询。我需要使用 HQL 的原因是由于未映射的关系,我需要一个 theta(又名交叉)连接(不幸的是我无法更改它)。

有没有一种方法可以使用 CreateQuery()(或 CreateCriteria(),假设我可以进行 theta 连接)来定义子查询并使用 QueryOver() 指定顶级查询?

【问题讨论】:

    标签: nhibernate hql nhibernate-criteria queryover


    【解决方案1】:

    不,HQL 查询和 QueryOver / Criteria 查询不能合并。

    您可以在 QueryOver / Criteria 中使用纯 SQL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多