为了账号安全,请及时绑定邮箱和手机立即绑定

id查询那里什么情况????

Inferred type 'S' for type parameter 'S' is not within its bound; should extend 'com.example.demo.Girl

正在回答

7 回答

//      return girlRepository.findOne(id);  spring 2.0之前支持
return girlRepository.findById(id).get();


1 回复 有任何疑惑可以回复我~

为什么改成这个还不好用

return girlRepository.findById(id).orElse(null);

Integer类型不行,哪怕是在用上面这行代码之前将id转换为String类型也不行。报500错误:Provided id of the wrong type for class com.imooc.girl.bean.Girl. Expected: class java.lang.Integer, got class java.lang.String; nested exception is java.lang.IllegalArgumentException: Provided id of the wrong type for class com.imooc.girl.bean.Girl. Expected: class java.lang.Integer, got class java.lang.String

而当我把主键改为String才好使。

其次,如果主键改为String后,还可以在实体类上面添加注解

@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })
在调用的时候用下面的方法即可。
return  girlRepository.getOne(uuid);
0 回复 有任何疑惑可以回复我~

可能以前的版本方法被搞了,findById是可以的,不想加orElse的话自己在自己那个接口上重写覆盖,很多方法的返回类型很懵或出啥子问题可以多尝试自己扩展。

0 回复 有任何疑惑可以回复我~
改成这个可以:
return girlRepository.findById(id).orElse(null);


2 回复 有任何疑惑可以回复我~
改成这个可以:
return girlRepository.findById(id).orElse(null);


3 回复 有任何疑惑可以回复我~

同样的问题!!

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
2小时学会Spring Boot
  • 参与学习       151599    人
  • 解答问题       1079    个

Spring Boot入门视频教程,你将学会使用Spring Boot快速构建应用程序

进入课程

id查询那里什么情况????

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信