2013-04-17 56 views
0

我不是數據庫專家,所以也許有人可以幫我解決以下問題。 我在播放時使用JPA icm MySQL!框架。JPA和與MySQL併發交易

正如我以前在數據收集例程中遇到數據庫鎖的問題一樣,我使此例程只讀。現在,當我需要從這個例程中進行更改時,我會同時執行此操作。 到目前爲止工作得很好,但現在我遇到了問題。當新用戶連接記錄被創建並且ID傳回時。但我需要獲取模型,而不僅僅是id。

當我在我的測試環境中搜索'id'時,這很好,我只是搜索它(mem db),但使用MYSQL EM沒有任何返回。在我看來,使用JPA-MySQL在事務開始之前不會做任何更改(即使只有麪包),這些更改將被包含在將來的搜索中。

這是否正確,是否有解決方法?我可以重寫該過程以使其再次可讀,並查看是否可以對其進行更優化,以避免其他線程(或服務器)在獲取數據庫鎖時遇到問題。從長遠來看可能是最好的,但我現在正在尋找更快的解決方案。

回答

1

事務隔離級別設置得太高。改變它解決了這個問題。 在玩!框架(1.2.5)可以這樣做:

%prod-test.db.isolation=READ_COMMITTED