问题描述
在我的 Spring Boot 应用程序中,我有一个名为 Person.class 的实体,其中包含
long id;
String email;
String name;
String surname;
String address;
List<Person> findAllByEmail(String email);
long id;
String email;
不返回整个对象。
这相当于执行查询:
"select id,email from person where email = ?"
List<Person> findAllByEmail(String email);
无需手动编写查询。
我该怎么做?
解决方法
从一个方法返回多个值是不可能的。在您的调用方法中,当迭代返回的 List<Person>
时,您应该将 Person
中每个 List
的必填字段读入局部变量并使用它们。
您可以使用JPA Projections
- 使用所需列的 getter 创建接口
interface WithIdAndEmail {
long getId();
String getEmail();
}
- 使用该接口作为方法的返回类型
List<WithIdAndEmail> findAllByEmail(String email);