欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot开发项目,引入JPA找不到findOne方法的解决

程序员文章站 2022-06-15 18:20:18
引入jpa找不到findone方法开发springboot的dao层之后,去测试的时候,发现findone()这个方法找不到了,查看了对应的表字段名和实体类的属性都一致找了半天没找到是什么原因,最后发...

引入jpa找不到findone方法

开发springboot的dao层之后,去测试的时候,发现findone()这个方法找不到了,查看了对应的表字段名和实体类的属性都一致

SpringBoot开发项目,引入JPA找不到findOne方法的解决

找了半天没找到是什么原因,最后发现是依赖的版本出问题了

<parent>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-parent</artifactid>
   <version>2.0.0.release</version>
   <relativepath/> <!-- lookup parent from repository -->
</parent>

这里改为1.5.10之后,就可以正常引入了

<parent>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-parent</artifactid>
   <version>1.5.10.release</version>
   <relativepath/> <!-- lookup parent from repository -->
</parent>

记录一下,花了3个小时找这个问题。。

SpringBoot开发项目,引入JPA找不到findOne方法的解决

springdatajpa中findone()方法报错

今天看了慕课网的springboot视频,然后自己跟着敲,发现了一个问题就是我的没有findone(integer id)这个方法,

因此我不能用这个方法去根据id查询了。

SpringBoot开发项目,引入JPA找不到findOne方法的解决

后来自己在网上查询资料发现,这个跟jpa的jar版本有关系。

spring-boot-starter-data-jpa

用springdatajpa的1.11版本,可以使用findone()方法根据id查询。(网上说的)

我现在用的版本是2.0.3.release,是没有这个findone(integer id)方法的,但是你还是想根据id去查询,那怎么办呢?

解决方法

使用findbyid(id).get()来进行查询。

亲测,可用。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。