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。
推薦閱讀:
- SpringBoot的依賴管理配置
- springboot實現配置兩個parent的方法
- SpringBoot特點之依賴管理和自動裝配(實例代碼)
- 瞭解Maven的<relativePath/>標簽用法
- Java框架入門之簡單介紹SpringBoot框架