2017-04-13 52 views
1

我正在嘗試讀取百萬條記錄並使用JPA將它們轉換爲Java對象。 我們在一分鐘內獲取數據,但將它們轉換爲Java對象需要更多時間。請讓我知道是否有一種方法可以並行化將每條記錄轉換爲它自己的Java表示的過程,看起來它是連續發生的。我們使用Hibernate框架(5.0.11)作爲JPA Provider。如何在JPA(Java持久性API)中將數據庫行並行化爲Java對象轉換?

回答

0

你不能將EntityManager單線程。

一種選擇是使用溫泉JdbcTemplateResultSetExtractor

的替代查詢後,分割工作負載將查詢塊擺在首位,並在一個單獨的線程選擇每個塊。

注意:像這樣的情況的一個常見錯誤是,雖然數據庫可能會快速返回第一行,但並不意味着所有行都可用並只是將其全部提取出來,即遍歷結果集可能需要相當長的時間。