我有一个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
类型上。不确定这是正确的解决方案。