报错:Incompatible types - Found void java.util.Optional
源码:
public Student query(Long id){
Student stu = studentRepository.findById(id);
return stu;
}
错误原因:
JpaRepository中的findById()方法返回的类型是Optional< T > 不是Student类型,且这里使用findById()方法有可能找不到匹配的数据,可能抛出异常。
故改成如下形式:
public Student query(Long id){
Optional<Student> stu = studentRepository.findById(id);
Student stu1 = stu.orElseThrow(() ->
new RuntimeException("No such data found"));//找不到数据时抛出异常
return stu1;
}