![](/img/trans.png)
[英]Reactive Spring Data Mongodb Query is returning old data when it should not
[英]Spring Data jpa query returning old data
我們已經創建了一個 spring 引導項目使用。 我們的應用程序與 oracle 數據庫交互。 我們創建了一組 jpa 存儲庫,我們在其中使用 findAll、findOne 和其他自定義查詢方法。
我們正面臨一個問題。 以下是重現它的步驟:
使用 spring-boot 應用程序在 db 上觸發讀取查詢。 現在使用 oracle-console 手動更改 oracle 中的數據,用於上述讀取查詢返回的記錄。 現在再次使用應用程序觸發相同的讀取查詢。 在第3步之后,我們應該已經收到了第2步的修改結果,但我們得到的是修改前的數據。 現在,如果我們再次使用應用程序觸發讀取查詢,它會為我們提供正確的值。 我們沒有在我們的應用程序中使用任何類型的緩存。
在調試時,我發現 jpa-repository 代碼正在調用數據庫並獲取最新結果。 但是當這個調用返回到我們的應用服務時,它有舊數據。
請幫助我們確定可能的原因。
由於您的問題不太抽象,因此我將在下面提出建議。
檢查您的數據庫事務是如何工作的。 似乎在第 2 步中,您的應用程序位於前一個事務中,因此 hibernate 不會嘗試再次訪問您的數據庫,以獲得與 Hibernate 緩存機制相同的密鑰。
但是,在第 3 步中,您的應用程序可能正在啟動一個新事務,hibernate 再次詢問數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.