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

girlFindOne报错

@GetMapping(value = "/girls/{id}")
public Girl girlFindOne(@PathVariable("id") Integer id) {
   return girlRepository.findOne(id);
}


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

正在回答

7 回答

你用的是spring boot 2.0.0版本吧,他之前的版本是可以直接使用findone(id)return 返回对象的,但2.0.0以后就需要findbyid(id).get(),或者getone(id)了

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

return girlRepository.findById(id).get();

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

慕粉2148343113

谢谢大佬!
2018-03-09 回复 有任何疑惑可以回复我~
#2

慕粉3806471

感谢!!
2018-03-19 回复 有任何疑惑可以回复我~
#3

henrylee1992

感谢!!!
2018-03-21 回复 有任何疑惑可以回复我~
#4

qq_宇凡_0

感谢大佬
2018-03-26 回复 有任何疑惑可以回复我~
#5

HotDeath

建议换成 return girlRepository.findById(id).orElse(null);
2018-04-07 回复 有任何疑惑可以回复我~
查看2条回复

自问自答,找到问题所在了,是由于jdk8的原因,有可能和spring boot的版本也关系,

两种方式可选 注册,返回类是Optional<Girl>, Optional是jdk8自带的

@GetMapping(value = "/girls/{id}")
public Optional<Girl> girlFindOne(@PathVariable("id") Integer id) {

   //直接用findById查找
   //return  girlRepository.findById(id);

   //构通Example查找

   Girl girl = new Girl();
   girl.setId(id);
   Example<Girl> example = Example.of(girl);
   return girlRepository.findOne(example);
}


https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#query-by-example.usage

更新迭代太快了,小白学起来吃力,好无奈


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

GirlController.java文件中有没有写这个啊:

@Autowired

private GirlRepository girlRepository;


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

你贴下Girl类中怎么写的

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

行走AZ间

@Entity public class Girl { @Id @GeneratedValue private Integer id; private String cupSize; private Integer age; /****get/set方法******/ }
2018-03-04 回复 有任何疑惑可以回复我~

我也遇到了同样的问题

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

查询字段是不是带成了S

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

举报

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

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

进入课程

girlFindOne报错

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