我有一个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)
答案 0 :(得分:1)
要生成QCustomer
,我必须将@QueryEmbeddable
放在Customer
类型上。不确定这是一个正确的解决方案。