java - QueryDsl MongoDB - 访问深度嵌套对象进行查询

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

我在使用 BooleanBuilder 时尝试访问嵌套对象时遇到问题。我读过默认值为 2 层,但对于我的用例,我需要访问第三层嵌套对象。所以我添加了 @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 类并且工作正常。但由于未生成 QDetails 类,details.description 给出了错误。如何让它生成QDetails

最佳答案

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

关于java - QueryDsl MongoDB - 访问深度嵌套对象进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58177094/

相关文章:

java - 找不到字符串字段的 validator

java - @QuerydslPredicate 在 Spring 测试中在 standaloneSetup 中失败

java - map View 并获取 MapItemizedOverlay Activity 上的变量

java - 如何同时使用 Eclipse 来支持 PHP 和 Java?

java - 无法解析 intellij 中的符号 jsonobject

mongodb - 使用 Spring Data 将 Kotlin 内联类存储到 MongoDB

java - 如何使用 Spring data-mongodb-reactive 从上限集合中进行流式传输

java - Hibernate Validator(如何只接受4个字母和10个数字)

java - 使用 Lombok 为具有必需和可选属性的类创建构建器

java - 在 spring-rest API 中从数据库检索图像路径的理想方法是什么?