0
我正在一個Spring-MVC應用程序中,我想在數據庫中搜索用戶選擇的選項組合。假設有10個選項,並且如果用戶選擇了其中的7個選項,那麼我怎樣纔能有效地在DAO中編寫單個方法,並使用一個可以適應選項數量的查詢。請參見下圖:Spring-MVC,休眠,Postgres:在數據庫中搜索多個變量
正如你可以在左側看到,可以有多種選擇,用戶可以選擇任何用戶選擇。我正在尋找類似的地方,我創建了一個搜索對象實體,並且我希望將這個實體傳遞給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
}
}
但如果我把它做在這樣可怕的方式,我永遠不會完。什麼是處理多個變量的搜索方式,只有那些應該被包括而其他人被丟棄。請讓我知道。謝謝。
這看起來很有希望,我推測我也可以將它用於布爾值以及其他。是的,他們是獨立的,我爲他們創建了一個對象模型,因爲我還需要保存搜索歷史記錄。仍然看起來有點手動,我認爲可能有一些先進的機制,因爲可能有50-60個搜索參數或更多的項目,那麼這將是乏味的。 –