Spring JPA查询结果是多条,但返回值是一个,程序不报错

public interface UserRepository extends MongoRepository<User, Long> {
    User findByUsername(String username);
}

上面代码使用了Spring JPA的功能,根据姓名查找用户,但是数据库里根据姓名zong能查询出来多条数据,而findByUsername方法的返回值是User,不是List<User>,此时预想的结果应该是报错,但是程序并没有报错,而是返回了多条数据的第一条。

请问这是什么原因,为什么没报错?

阅读 6k
1 个回答

User 所以只返回一条
你把声明改成List<User> 就能返回多条
这是JPA的好处啊,你怎么指望他报错呢