OpenJPA出现OutofMemory异常

时间:2012-07-03 14:02:52

标签: out-of-memory openjpa recursive-query

当我尝试使用openJPA撤回一个巨大的对象树时,我收到内存不足错误... 我该怎么做才能缓解这个...这是我的方法论......

我搜索一个实体...... 这个实体应该有与之关联的子实体(它们实际上是同一个实体)......所以我要包含一个带有它的子列表......

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

因此,该实体是一个组织,我包含一个具有此实体的组织列表......现在我有一个命名的本机查询,它可以获取此特定实体的每个子项。我递归循环遍历每个子节点并找到该实体的每个子节点...使相同的命名本机查询调用可能需要数千次。递归构造子树对象。现在,这似乎有效,直到我遇到内存异常...我有点失意,我怎么能解决这个小问题?我显然可以增加分配给进程的内存,但我担心这会是一个绑定。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

  

我有点不知所措,我怎么能解决这个小问题呢?

您有两个选择,在应用程序代码中保留较少的内存,或者增加JVM堆大小。