2012-08-17 40 views
1

我正在使用Play!框架,並在以下情況下遇到困難。 我有一個服務器進程,它具有「只讀」事務。這是爲了防止由於執行而導致任何可能的數據庫鎖定,因爲這是一個複雜的過程有一個或兩個記錄需要存儲,但我將其作爲一項工作,因爲我發現在主線程中執行這些記錄可能會導致更高負載下的死鎖。找不到剛剛在JPA的另一個線程中創建的記錄

但是,有一次我需要創建一個對象並隨後使用它。 但是,當我使用Job創建對象時,請等待生成的id(帶有Promise返回值),然後在數據庫中搜索它,找不到它。

有沒有一種簡單的方法可以在此時在數據庫中重新搜索JPA?我實施了5秒。暫停測試,所以我起訴它並不是因爲程序尚未完成。

回答

0

檢查您的INSERT周圍是否有一筆交易,以及是否有一筆支票交易是COMMIT ed。

+0

它承諾了,我可以在數據庫中檢查它(我在創建和搜索之間停留了10秒)。在我看來,對或錯,父線程的JPA並沒有考慮到數據庫的任何新增加。 – 2012-08-17 11:58:46

相關問題