2013-01-09 35 views
0

背景如何執行級聯JPA /排名靠前批量更新

我有我需要實現一個JPA級聯批量更新的問題。 該更新將需要大約10000個對象並一次將它們合併到數據庫中。 對象的平均深度爲5個對象,平均大小約爲3 kb 持久提供者是Oracle Toplink

這消耗大量內存並需要幾分鐘才能完成。

我環顧四周,我看到3種可能性:

通過標準JPA循環MERGE語句,並以一定的間隔

使用JPQL

沖洗使用TopLink的自己的API(這是我沒有任何經驗)

所以我有幾個問題

我將通過使用JPQL來減少標準合併的開銷嗎?如果我理解正確,合併導致整個對象樹被調用之前被克隆。它實際上更快嗎?是否有一些技巧來加速這個過程?

如何使用Toplink API進行批量合併?

而且我知道這是主觀的,但是:有沒有人有在JPA/Toplink中進行大量級聯批量更新的最佳做法?也許我沒有考慮過的東西?

相關問題

Batch updates in JPA (Toplink)

Batch insert using JPA/Toplink

回答