【问题标题】:How to use a SubQeryExpression in QueryDSL BooleanExpression如何在 QueryDSL BooleanExpression 中使用 SubQeryExpression
【发布时间】:2020-10-08 14:41:57
【问题描述】:

我有两个由@ManyToMany、标准和规则链接的实体。两者都可以激活或不激活,规则也可以是关键的或不重要的。他们的实体中有相应的字段。我需要一个查询,仅检索已激活且至少具有一个已激活关键规则的条件。以下是我编写子查询的方法:

BooleanExpression subExpression = QRule.rule.enable.eq(true).and(QRule.rule.critical.eq(true));

BooleanExpression expr = QCriteria.criteria.enable.eq(true)
            .and(QCriteria.criteria.rules.any().eq(subExpression));
List<Criteria> crits = criteriaRepository.findAll(expr);

我看到我使用子表达式的 .eq() 可以采用 SubQueryExpression,但我找不到任何有关如何使用它们的信息。

我正在使用 QueryDSL 4.1.4。

【问题讨论】:

    标签: java hibernate subquery querydsl


    【解决方案1】:

    您应该使用存在子查询来模拟“至少有一个激活的关键规则”要求。

    【讨论】:

      猜你喜欢
      • 2021-09-21
      • 2013-05-15
      • 2013-05-26
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-30
      相关资源
      最近更新 更多