Добрый день.
Если речь идет о поиске данных в БД и об уменьшении кол-ва кода, т.е. именованных методов, то можете использовать следующие решения
1 - Используйте спецификации. Создайте список предикатов и уже по ним проводите поиск в БД.
Простой пример
public Specification<User> applicationSpecification(
// search arguments
) {
return (root, query, criteriaBuilder) -> {
List<Predicate> predicates = new ArrayList<>();
if (StringUtils.isNotBlank(status)) {
Predicate predicate = criteriaBuilder.like(// Your code here);
predicates.add(predicate);
}
// other search conditions
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
};
}
2 - Используйзет готовые библиотеки. Например,
https://github.com/tkaczmarzyk/specification-arg-r...