休眠和java堆空间错误
问题描述:
我有一个股票和StockRecords类与一对多的关系。休眠和java堆空间错误
在Stock.hbm.xml,我有这样的
<bag name="stockRecords" table="stockRecords" inverse="true" lazy="true"
fetch="select">
<key>
<column name="stock_Records" not-null="true" />
</key>
<one-to-many class="com.my.model.objects.StockRecords" />
</bag>
我在一个时间accesing一个股票定义的集合。这里是
Stockrecords具有一个日提交的(字符串类型),这将平均包含
在它500000个字符在StockRecords.hbm.xml
<property name="summary" type="string" lazy="true" >
<column name="summary" />
</property>
虽然我accesing的一个问题基于ID的股票实体,我试图从该股票的所有股票记录中建立一个所有汇总字段的字符串。我得到java堆空间错误,她把我的jvm设置设置为512m。这是休眠或Java的东西?
冬眠4.XX 的Java 1.7
答
确保你只要你不需要它了从session.evict(obj)
Hibernate的背景下清除实体。否则所有这些实体都会很快填满你的记忆。
如果攻击对您的算法不是问题,您也可以用session.clear()
清除整个上下文。
如果这还不够,您应该考虑增加Java堆大小。
可能你需要改变512米到1024米。这可能有帮助。 –