使用Hibernate时内存不足保存大记录?

时间:2011-11-29 02:52:57

标签: java database hibernate jdbc

我的项目解析来自dblp的XML文件,大约1GB保存在ORM数据库中,因此我使用SAXP来读取信息,如(paper'author,paper'infomation ......)。

函数读取正常但是当我使用hibernate将信息保存到数据库时它有错误:“java.lang.OutOfMemoryError:Java heap space”

2 个答案:

答案 0 :(得分:1)

您应该对这些大型数据集使用无状态会话。请在jboss website

了解相关信息

答案 1 :(得分:0)

从堆栈跟踪看,似乎java.lang.OutOfMemoryError不是由Hibernate引起的,因为它是在构建SessionFactory时发生的。

我认为这是由于你要解析的大尺寸XML。您可以通过解析较小的XML来验证它。如果可以保存,则可以隔离问题不是由Hibernate引起的。

您可以使用-Xmx参数增加Vm的最大堆大小,例如:

java -Xmx2048m