3 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
您不需要使用override默認(rèn)findAll()方法JpaRepository。只需將存儲(chǔ)庫(kù)界面保持為空即可。
@Repository
public interface AppRepository extends JpaRepository<AVSApplication, String>{
}

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊
正如您所顯示的,您的代碼中似乎沒(méi)有錯(cuò)誤,它沒(méi)有找到帶有該鍵的任何內(nèi)容,findById("your_key")并且您沒(méi)有該鍵的值。你可以做的是檢查你是否有該鍵的值,如下所示并采取相應(yīng)的行動(dòng):
Optional<AVSApplication> optionalApp = mAppRepo.findById("3A0");
if (optionalApp.isPresent())
{
AVSApplication yourObject= optionalApp.get();
}
else
{
//throw new exceptions or do whatever you want
}
findAll()此外,從存儲(chǔ)庫(kù)中清除您的覆蓋方法

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
我是這么想的。這不是一個(gè)錯(cuò)誤。事實(shí)上,這是一個(gè)有效的輸出。您正在嘗試查詢(sysout)應(yīng)用程序代碼 - “3A0”,但該代碼不存在。我嘗試在本地復(fù)制相同的內(nèi)容,并且可以通過(guò)查詢不存在的應(yīng)用程序代碼來(lái)完成此操作,如下所示:
輸入無(wú)效:
System.out.println(mAppRepo.findAll());
System.out.println(mAppRepo.findById("appcode"));
輸出:
[com.example.demo.entity.AVSApplication@1640ad08]
Optional.empty
有效輸入:
System.out.println(mAppRepo.findAll());
System.out.println(mAppRepo.findById("abc"));
輸出:
[com.example.demo.entity.AVSApplication@335bed5b]
Optional[com.example.demo.entity.AVSApplication@655967a5]
因此,請(qǐng)確保您正在查詢現(xiàn)有且有效的條件。查找拼寫錯(cuò)誤并重試。
添加回答
舉報(bào)