簡體   English   中英

Spring 數據 jpa 查詢返回舊數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM