2015-04-24 76 views
1

我有實體類如下。我正在使用公開的jpa。如何使用標準獲取值列表API

Class RootClass{ 
A a; 
} 
Class A{ 
    List<B> b; 
} 
Class B { 
    C c; 
} 
Class C { 
    String name; 
} 

當B爲單一對象,而不是名單,我用下面的語句來 選擇名字。它工作正常。

Root<RootClass> rootElement = myQuery.from(RootClass.Class); 
    ... ... 
Predicate predicate = criteriaBuilder.equal(rootElement.get("a").get("b").get("c"). <String>get("name"),userName); 

但是當b更改爲List時,上面的代碼不起作用。請提供一些關於如何使用Root獲取列表的指示。

+0

對不起,不正確的格式。我無法在移動版本的SO中做到這一點。 – Pravin

+0

我會爲您設置格式 –

回答

0

你需要的是join而不是get

Root<RootClass> rootElement = myQuery.from(RootClass.Class); 
... 
Predicate predicate = criteriaBuilder.equal(rootElement.join("a").join("b"). 
    get("c").<String>get("name"), userName); 
相關問題