2012-07-03 73 views
0

當我嘗試使用openJPA撤回一個巨大的對象樹時,我收到了內存不足的錯誤... 我該怎麼做才能減輕這個...這是我的一些方法...OutofMemory異常與OpenJPA發生

我搜索一個實體... 這個實體應該有與之相關的子實體(這是esesntially同一實體)......所以,我包括它的孩子的名單...

private List<Organization> childOrgsTree = new ArrayList<Organization>(); 

因此,該實體是一個組織,我包括一個組織的列表與此實體...現在我有一個命名的本機查詢ge對這個特定實體的每個孩子。我遞歸循環通過每個這些孩子,並找到該實體的每個孩子......做同樣的命名本地查詢調用可能成千上萬的時間。遞歸構造子樹對象。現在,這似乎工作,直到我遇到了一個內存異常...我有點流行,我怎麼能解決這個小問題?我顯然可以增加分配給這個進程的內存,但是我擔心這會是一個bandaid。有任何想法嗎?

回答

0

我有點失落如何解決這個小問題?

您有兩個選擇,在應用程序代碼中佔用更少的內存,或者增加JVM堆大小。

+0

嗯......也許,我一直在尋找這個鏈接http://openjpa.apache.org/builds/1.0.3/apache-openjpa-1.0.3/docs/manual/ref_guide_caching.html 和http: //openjpa.apache.org/builds/1.0.4/apache-openjpa-1.0.4/docs/manual/ref_guide_pc_scos.html#ref_guide_pc_scos_proxy_ 我希望其中一人能給我我尋求的答案 – SoftwareSavant

+0

我沒有線索如何不知道OpenJPA用戶手冊如何解決您將太多數據拖入JVM的問題? – Rick

+0

我真的希望有某種尋呼機制......但你的諷刺是無價的 – SoftwareSavant