2015-12-27 27 views
2

我有一類人名單上的跟隨JPQL SQL進行查詢的基礎的論點

public class Person{ 
    String name; 
    //---------- 
} 

我想,來查詢的名稱都像「名1」和名稱,比如「名2」的人員名單和名稱,比如「NAME3」 ...... 所以,我想有這樣的funtion

public void queryPersonsWhithNameLike(List<String> names){ 
    //here is my query 
    String queryStr = "select p from Person p where p.name LIKE :names.get(0) AND p.name LIKE :names.get(1) AND p.name LIKE :names.ger(2) AND......"; 

} 

請我怎樣才能編寫使用SQL和JPQL一個這樣的查詢?

+0

Devide由零件查詢和單獨添加各部分或構建其他查詢。 –

回答

0

公共無效queryPersonsWhithNameLike(列表名稱){ 遍歷列表和構造查詢:

String queryStr = "select p from Person p"; 
int count=0; 
for(String str:names) { 
    if(count==0) queryStr+="WHERE p.name LIKE :name"+count; 
    else queryStr+=" AND p.name LIKE :name"+count; 
    count++; 
} 
... Initialize query 
for(String str:names) { 
... Set all the :name+count as parameters 
} 
+0

謝謝諾伯特。它工作正常 – blaiso