在使用Repository接口时遇到了若findBy方法的查询结果为空时会报空指针异常java.lang.NullPointerException
,而查询结果不为空时能够经过测试。html
本文首发于个人我的博客 技术公馆(wcc.im): Spring Data JPA查询结果为空时遇到的问题
在网上搜索到的使用Repository报空指针异常的缘由可能是由于注入的问题,没有使用@Autowired
,但这并不适用于我遇到的问题。java
在肯定位置后,发现个人报错出如今findBy方法。最后在官方文档中查到对于Repository中的方法须要专门处理结果为空时的状况。若使结果可为空,须要在方法前加@Nullable
注解。spring
因此只需将segmentfault
interface UserRepository extends Repository<User, Long> { User findByName(String name); }
改成post
interface UserRepository extends Repository<User, Long> { @Nullable User findByName(String name); }
便可。测试
本文首发于个人我的博客 技术公馆(wcc.im)。
原文连接: https://wcc.im/zh/post/empty-result-in-spring-data-jpa/
本博客内文章除特别声明外均为原创,采用 CC BY-NC-SA 4.0 许可协议进行许可。超出 CC BY-NC-SA 4.0 许可协议的使用请联系做者得到受权。