在使用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 許可協議的使用請聯繫做者得到受權。