找不到findOne 方法

2021-09-08 20:03:08 字數 1192 閱讀 3716

問題:

以前一直用的repository.findone(id id);,這次用springboot構建新專案後,並沒有找到這個findone(id id),只有另外的

在這裡插入描述

分析:看了下jpa的依賴,因為springboot的版本是2.0.0的,所以spring-data-jpa的版本也是2.0.x。

拿2.0.5的原始碼和之前可行的1.11.9做了對比。

對比crudrepository介面中:

各種方法名改變蒙蔽。。然而其實也一樣,不過findone方法的返回值也改了,變成了 optional。才疏學淺不知道什麼意思,只能點進去看一下了。

其中:

get()方法可以獲取到值,但是直接這樣寫的話如果值不存在就要拋異常。所以要先做判斷,值存在再get(),或者就是寫在try-catch裡。

也可以用它的findbyid(id).orelse(null); 存在就會直接返回值,如果不存在會返回別的值,這裡不存在返回的是null,(orelse裡可以給預設值)。

解決:

結果:存在時都一樣,就是輸出了該類目重寫的tostring方法裡的資料。

不存在時:

所以就是我所能解決的有兩個方法就是:

1.使用回以前的版本1.5.9等等這些的,還是用findone(id id)的方法。

2.就是用findbyid(id id),然後用.get()前要判斷是否是null.

Nodejs找不到static方法

這個問題是我在學習angularjs,也就是做 angularjs高階程式設計 adam freeman著 這本書上第一章的例子時遇到的。原文伺服器端 如下 varconnect require connect connect.createserver connect.static angularj...

adb devices l找不到裝置解決方法

0 手機上的xx手機助手 豌豆莢之類,全刪光 1 開啟目錄 c users username android 使用者名稱根據實際情況替換 2 在目錄下建立檔案 adb usb.ini 檔案中,寫入 0xaaaa aaaa為vid id,請在計算機管理 選擇手機 裝置詳細資訊 硬體id中檢視 usb ...

Linux找不到命令解決方法

1 linux首先會找 etc profile 這個配置檔案裡的path變數,遍歷這個變數裡配置的多個路徑,檢視命令是否存在。2 如果 etc profile 裡的path找不到有這個命令 或者是sh 檔案,或者是二進位制可執行的檔案 下一步會去家目錄 也就是 下的目錄 下的.bash profil...