Я разрабатываю приложение, в котором мне нужна функция поиска, я хочу написать HQL-запрос, который динамически создается в соответствии с параметрами. В настоящее время у меня есть 4 параметра, при поиске все параметры требуются или требуются 1, 2 или 3 параметра в зависимости от того, как пользователь хочет искать.
public List<Plot> fetchSearchedPlots(int plotType, String plotSize, String min, String max)
{
Session session = sessionFactory.getCurrentSession();
List<Plot> searchedLists = new ArrayList<Plot>();
String query = "FROM Plot where type = ? and size = ? and price >= ? and price <= ?";
searchedLists = (List<Plot>)session.createQuery( query )
.setInteger( 0, plotType )
.setString( 1, plotSize )
.setString( 2, min )
.setString( 3, max ).list();
return searchedLists;
}
это мой общий запрос для всех 4 параметров, теперь мне нужно написать поисковый запрос, в котором я использую несколько необязательных параметров. Как сделать этот запрос с необязательными параметрами? любезно преобразовать мой запрос в запрос с динамически необязательными параметрами? Спасибо