У меня есть класс 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)
}
Для каждого возможного вызова Parametrary - это Ноль и Нал, или вообще ничего.
Пожалуйста, сообщите
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);
}
....
И объединить их (несколько параметров):
и это может быть комбинация параметров