Я новичок в разработке фреймворка и гибернации, у меня есть простая проблема, которую я не могу решить
public static void listMembers(int page,int pageSize,String[] fields,String[] values) {
List<Member> members = Member.find(query,params).fetch();
render(members);
}
Я не уверен, как написать запрос и параметры
так, как я хочу каждыйполе для проверки по соответствующему значению
примерно так (что приводит к ошибкам):
public static void listMembers(int page,int pageSize,String[] fields,String[] values) {
String query = "" ;
String[] params = new String[values.length*2] ;
int i = 0 ;
for(i = 0 ; i < fields.length-1 ; i+=2 ) {
query += "?"+(i+1)+" like ?"+(i+2)+" AND" ;
params[i] = fields[i] ;
params[i+1] = "%"+values[i]+"%" ;
}
query += "?"+(i+1)+" like ?"+(i+2) ;
params[i] = fields[i] ;
params[i+1] = values[i] ;
List<Member> members = Member.find(query,params).fetch();
render(members);
}
Редактировать: так, что запрос будет:
?1 like ?2 AND ?3 like ?4 AND .....
ипараметры будут:
field1,%value1%,field2,%value2%,...