【发布时间】:2015-05-07 14:03:15
【问题描述】:
我正在开发一个 Spring-MVC 应用程序,我想在数据库中搜索用户选择的选项组合。所以假设有10个选项,如果用户选择其中的7个,我怎样才能有效地在DAO中编写一个可以适应选项数量的单一查询的单一方法。请看下图:
正如您在左侧看到的那样,有多个选项,用户可以选择用户选择的任何一个。我正在寻找类似的东西,我创建了一个搜索对象实体,并且我想将此实体传递给 dao,其中将提取其变量并在数据库中执行搜索。
但如果有 3 个变量,我会看到查询看起来像:
伪代码:
public ResultObject doSearch(var1, var3, var3){
if((var1==true)){
// hibernate query for search where var1 equals true
}
if(!(var2==null)&&(var1==true)){
//Hibernate query for search where var2 is set by user and var1 is true
}
}
但是,如果我继续以这种可怕的方式这样做,我将永远完成不了。当只应包含一组变量而丢弃其他变量时,如何处理多个搜索变量。请告诉我。谢谢。
【问题讨论】:
标签: java spring hibernate postgresql spring-mvc