码迷,mamicode.com
首页 > 编程语言 > 详细

SpringBoot2中JPA的findOne()方法异常

时间:2020-01-12 00:12:45      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:null   容器   原来   一个   ring   返回   find   end   使用   

在用SpringBoot 2的时候,发现使用Spring Data JPA 的自带findOne()方法时,不像以前那样可以通过直接使用:

xxxRepository.findOne(id)

传入id来获取一个对象。查看源码发现findOne方法变成了如下所示:

<S extends T> Optional<S> findOne(Example<S> var1);

原来是自从spring boot 2.0以后,由于用上了Java 8 的Optional,废除了原来的findOne(Id)。

原来是自从spring boot 2.0以后,由于用上了Java 8 的Optional,废除了原来的findOne(Id)。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。

findById()方法也使用了Optional,废除了原来的方法:

Optional<T> findById(ID var1);

解决方法:调用findById方法返回Optional对象,再调用Optional的get()方法返回该对象,即用xxxRepository.findById(id).get()代替原来的findOne(id)方法。

SpringBoot2中JPA的findOne()方法异常

标签:null   容器   原来   一个   ring   返回   find   end   使用   

原文地址:https://www.cnblogs.com/bestjdg/p/12181371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!