我正在使用 Spring Boot、Spring Data 編寫一個應用程序。我正在嘗試實現基于不同過濾器參數的過濾功能。使用 Spring Data 查詢我們可以定義相當復雜的邏輯,例如:@Query("SELECT u FROM User u WHERE u.status = 1")Collection<User> findAllActiveUsers();但是,如果在我們發出可能相當復雜的實際過濾請求之前,where 子句的數量、順序、限制、不同參數的數量都是未知的,該怎么辦?現在,過濾器參數以 json 對象的形式發送,我解析并檢索它們,結果 sql 查詢可能如下所示:SELECT * FROM tableWHERE field1 != `value1` and (field1 != ` value2 `OR (field1 = `value3` AND filed2 < 3))AND field2 != 99是否可以生成具有未定義(直到實際過濾器請求,在運行時)數量的參數、where 子句和其他內容的動態復雜查詢?
有沒有辦法動態生成 Spring Data Jpa 查詢?
慕無忌1623718
2023-09-13 17:19:00