SpringBoot開發項目,引入JPA找不到findOne方法的解決

引入JPA找不到findOne方法

開發SpringBoot的DAO層之後,去測試的時候,發現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個小時找這個問題。。

SpringDataJpa中findOne()方法報錯

今天看瞭慕課網的springboot視頻,然後自己跟著敲,發現瞭一個問題就是我的沒有findOne(Integer id)這個方法,

因此我不能用這個方法去根據id查詢瞭。

後來自己在網上查詢資料發現,這個跟jpa的jar版本有關系。

spring-boot-starter-data-jpa

用SpringDataJPA的1.11版本,可以使用findOne()方法根據id查詢。(網上說的)

我現在用的版本是2.0.3.RELEASE,是沒有這個findOne(Integer id)方法的,但是你還是想根據id去查詢,那怎麼辦呢?

解決方法

使用findById(id).get()來進行查詢。

親測,可用。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: