我有一个Order实体,其中包含一个OrderCustomer字段,而OrderCustomer实体具有一个Customer字段。

@Document
public class Order {
    private OrderCustomer orderCustomer;
}

public class OrderCustomer {
    private Customer customer;
}

public class Customer {
    private String referenceNumber;
}


org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor生成的查询类如下所示:

public QOrder {
    public final QOrderCustomer orderCustomer;
}

public QOrderCustomer {
    public final SimplePath<Customer> = createSimple("customer", Customer.class);
}


在这种情况下,如何创建谓词以检查Customer.referenceNumber是否包含来自客户端的任何字符串输入?

例如:
QOrder.order.orderCustomer.customer.referenceNumber.contains("anystring")

还是代码生成不正确?应该生成QCustomer吗?

我的依赖版本:
querydsl 4.1.4
+
spring-data-mongodb 1.9.5(由spring-data-releasetrain:Hopper-SR5管理)

最佳答案

要生成QCustomer,我必须将@QueryEmbeddable放在Customer类型上。不确定这是正确的解决方案。

09-25 22:16