Какие существуют способы динамического формирования условий в WHERE?
В JPA есть CriteriaBuilder
С java, честно говоря, не знаком, но в sql можно формировать динамический запрос в nvarchar и затем запускать его разными способами, к примеруDECLARE @sql_exec NVARCHAR(4000), @EOL CHAR(2)
SELECT @EOL = CHAR(13) + CHAR(10) 
SELECT @sql_exec = 'SELECT 1' + @EOL
-- тут добавить условия
-- формирования динамического запроса
--
SELECT @sql_exec = @sql_exec + 'WHERE 1=1'
-- тут добавить
-- формирование условий выборки
-- 
-- просмотр сформированного запроса
PRINT @sql_exec
-- выполнение:
EXEC(@sql_exec)