gpt4 book ai didi

java - 如何使用具有不同参数的 CrudRepository?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:49:50 33 4
gpt4 key购买 nike

我想显示一张人员表。用户应该能够发送查询并按大多数可选的属性进行过滤。

问题:对于每个要过滤的属性,我必须在 spring-data-jpa 中使用 `CrudRepository 引入一个额外的方法:

public interface PersonRepository extends CrudRepository<Person, Long> {
List<Person> findByFirstname(firstname);
List<Person> findbyFirstnameAndLastname(first, last);
List<Person> findByFirstnameAndLastnameAndAge(first, last, age);
List<Person> findByFirstnameAndLastnameAndAgeAndCity(first, last, age, city);
}

问题:我怎样才能做得更好(不必编写原生的PreparedStatement 是我自己)?

最佳答案

Query by example允许通过将简单的过滤条件填充到“示例”实体中来创建过滤器:

public interface PersonRepository extends CrudRepository<Person, Long> {
<S extends T> Iterable<S> findAll(Example<S> example);
}

...

Person person = new Person();
person.setFirstname("Dave");
person.setCity("Seattle");
Iterable<Person> davesFromSeattle = personRepository.findAll(Example.of(person));

关于java - 如何使用具有不同参数的 CrudRepository?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45483457/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com