2
我正在使用JPA框架來執行一些數據庫操作。JPA EntityManager數據庫上的併發操作數限制
首先我做一個EntityManager
對象,然後我用的代碼片段
"entityManager.persist(specificEntity)"
保存特定表的實體對象與此堅持操作從方法實現與annotaion
"@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)"
我嘗試在該方法中使用for循環保留大量數據,並且所有數據都保存在一個事務中。 通常這一切工作正常,但是當我試圖堅持很多行,我面對的問題和錯誤
"Out of operation records in transaction coordinator (increase MaxNoOfConcurrentOperations)"
我的DB支持約32,000條併發操作。 那麼在JPA框架中有沒有什麼方法可以指定最大併發操作數。
處理此問題的一種方法是使用分頁。 使用「Requires_New trancsaction」的另一種方法。在我的第一個方法中收集一些特定的行,然後將該對象傳遞給第二個方法並保存數據。但是,我必須在我的代碼中手動處理。我想知道JPA框架是否有辦法解決這個問題。 – kaka
不,你需要解決這個問題,不要讓它成爲JPA的責任。你需要確保不要超越你的數據庫管理系統的限制。換句話說:您可能需要批量處理並保持較小的交易。 – Gimby