请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

jpa中使用findOne方法不能像老师样的返回实体对象

使用findOne时

https://img1.sycdn.imooc.com//szimg/5aab7b7b0001264109180382.jpg

网上查看资料说要对应实体Id 我也有相应的注解但还是不行

https://img1.sycdn.imooc.com//szimg/5aab7bb500010d7506640481.jpg

然后我看到有个getOne的方法是可以返回实体,但是启动测试的时候直接报错

https://img1.sycdn.imooc.com//szimg/5aab7be400013d8a13660736.jpg

请老师解惑

正在回答 回答被采纳积分+3

5回答

KevinMMM 2018-07-13 09:46:35

Springboot 改版之后将findOne 更名为 findById

但是findById并不仅仅是将findOne改名,它返回的对象变成了Optional

如果想让findById和findOne有同样的功能,可以用下面这个函数

Foo foo = repo.findById(id).orElse(null);

4 回复 有任何疑惑可以回复我~
  • xssxyy #1
    厉害。
    回复 有任何疑惑可以回复我~ 2018-07-19 10:39:01
jxnu3516 2018-10-31 10:29:15

把findOne()换成findById().get()就好了

0 回复 有任何疑惑可以回复我~
慕粉3495297 2018-04-04 10:21:06

把spring boot的版本改回1.5.10就好了

0 回复 有任何疑惑可以回复我~
路人好丑 2018-03-28 10:42:31

兄弟,你这问题我也碰到了,是boot版本的问题,我暂时也是一脸懵逼

0 回复 有任何疑惑可以回复我~
慕粉1471747585 2018-03-16 18:14:46

https://img1.sycdn.imooc.com//szimg/5aab98e80001e94f12980608.jpg你看看 

0 回复 有任何疑惑可以回复我~
  • 提问者 慕斯0467629 #1
    那您知道为什么我不能像老师样的直接返回实体对象吗
    回复 有任何疑惑可以回复我~ 2018-03-17 12:09:40
  • evildoer_bo 回复 提问者 慕斯0467629 #2
    大兄弟  你这个解决了吗
    回复 有任何疑惑可以回复我~ 2018-03-26 17:07:09
  • oldmanw 回复 提问者 慕斯0467629 #3
    把findOne()换成findById().get()就好了
    回复 有任何疑惑可以回复我~ 2018-04-12 15:32:37
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信