Querydsl 4 String SimplePath

时间:2016-12-30 05:40:18

标签: java mongodb spring-data-mongodb querydsl

我有一个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)

1 个答案:

答案 0 :(得分:1)

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

相关问题