【问题标题】:QueryDsl MongoDB - Accessing Deeply Nested Object for QueryQueryDsl MongoDB - 访问深层嵌套对象以进行查询
【发布时间】:2020-01-30 06:59:47
【问题描述】:

我在使用 BooleanBuilder 时尝试访问嵌套对象时遇到问题。我读过默认值为 2 级,但对于我的用例,我需要访问第 3 级嵌套对象。所以我添加了@QueryInit,正如许多其他答案中所指出的那样。但我仍然无法访问它。这是我的代码:

@Document
public class Order implements Serializable {

     @QueryInit(*.*)
     private Item item;

}

public class Item implements Serializable {
   private Details details;
}

public class Details implements Serializable {
   private String name;
}

public static BooleanExpression name(String name) {
  QOrder order = QOrder.order;
  return order.item.details.name.eq(name)
}

我生成了QOrderQItem 类并且工作正常。但是 details.description 给出了错误,因为没有生成 QDetails 类。如何让它生成QDetails

【问题讨论】:

  • 找到解决方案了吗?

标签: java spring-boot spring-data-mongodb querydsl


【解决方案1】:

我看到的第一个问题是您在 return 语句中遗漏了一个分号,这可能会导致您遇到一些其他问题。生成QDetails 的方法是先引用查询,然后从分配的结果中请求详细信息。

【讨论】:

  • 您能否详细说明引用查询的含义?
猜你喜欢
  • 2020-12-15
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 1970-01-01
  • 2019-02-17
  • 2022-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多