2016-12-30 106 views
0

我有一個Order實體,它包含一個OrderCustomer字段,而OrderCustomer實體具有一個Customer字段。Querydsl 4字符串SimplePath中的字段的表達式

@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 + 彈簧數據的MongoDB 1.9.5(由彈簧數據releasetrain管理:料斗-SR5)

回答

0

要生成QCustomer,我必須把@QueryEmbeddableCustomer類型。不知道這是一個正確的解決方案。