【发布时间】:2019-07-08 13:07:04
【问题描述】:
我有一个实体类,它有 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)
}
对于每个可能的调用,参数是 Zer 和 Nal,或者什么都没有。 请指教
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);
}
....
并将它们组合起来(多参数):
而且可能是参数的组合
【问题讨论】:
标签: spring spring-data-jpa spring-repositories