У меня есть класс Entity с 5 параметрами: имя, семья, электронная почта, адрес, возраст. Поиск по отдельности или в группах должен быть динамичным. Это в ситуации, что если я хочу написать один, все место занято. Как я могу написать им динамическую очередь?
@Repository
public interface MyRepository extends JpaRepository<MyEntity1, Long> {
Page<DirectTopup> findAllByName(Pageable pageable, String name);
Page<DirectTopup> findAllByNameAndFamily(Pageable pageable, String name, , String family);
Page<DirectTopup> findAllByNameAndFamilyAndEmail(Pageable pageable, String name, , String family, String email);
...
Page<DirectTopup> findAllByNameAndFamilyAndEmail(Pageable pageable, String name, , String family, String email, String address, int age)
}
Для каждого возможного вызова Параметрарий — это Зер и Нал или вообще ничего. пожалуйста, порекомендуйте
if (name != null && family == null && email == null && address == null && age ==null){
myRepository.findAllByName(new PageRequest(page, size, direction, propertie), name);
}
if (name == null && family != null && email == null && address == null && age ==null){
myRepository.findAllByFamily(new PageRequest(page, size, direction, propertie), family);
}
... и все параметры
Все разделенные значения разделены.
if (name != null && family != null && email != null && address == null && age ==null){
myRepository.findAllByNameAndFamilyAndEmail(new PageRequest(page, size, direction, propertie), name, family, email);
}
....
И объедините их (несколько параметров):
и это может быть комбинация параметров