3 回答

TA貢獻1784條經驗 獲得超7個贊
您不需要使用override默認findAll()方法JpaRepository。只需將存儲庫界面保持為空即可。
@Repository
public interface AppRepository extends JpaRepository<AVSApplication, String>{
}

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

TA貢獻1811條經驗 獲得超4個贊
我是這么想的。這不是一個錯誤。事實上,這是一個有效的輸出。您正在嘗試查詢(sysout)應用程序代碼 - “3A0”,但該代碼不存在。我嘗試在本地復制相同的內容,并且可以通過查詢不存在的應用程序代碼來完成此操作,如下所示:
輸入無效:
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]
因此,請確保您正在查詢現(xiàn)有且有效的條件。查找拼寫錯誤并重試。
添加回答
舉報