我在使用 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)
}
我生成了 QOrder
、QItem
类并且工作正常。但由于未生成 QDetails
类,details.description 给出了错误。如何让它生成QDetails
?
最佳答案
我看到的第一个问题是您在 return 语句上漏掉了一个分号,这可能会导致您出现一些其他问题。生成QDetails
的方法是首先引用查询,并从分配的结果中请求详细信息。
关于java - QueryDsl MongoDB - 访问深度嵌套对象进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58177094/