2016-12-06 1 views
0

일대 다 관계가있는 Stock 및 StockRecords 클래스가 있습니다. Stock.hbm.xml에서최대 절전 모드 및 자바 힙 공간 오류

, 나는 한 번에 하나 개의 주식을 accesing하고이

<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> 

같이 정의 된 컬렉션이 있습니다. 여기

Stockrecords가 StockRecords.hbm.xml에서 평균

에에서 500,000 문자를 포함 하나 제기 (문자열 유형)

<property name="summary" type="string" lazy="true" > 
     <column name="summary" /> 
    </property> 

것은 내가 중 하나를 accesing하고있다 있지만 문제는 주식 엔터티는 ID를 기반으로, 나는 그 주식의 모든 주식 기록에서 모든 요약 필드의 문자열을 만들려고합니다. 자바 힙 공간 오류가 발생했습니다. 나는 512m로 설정된 jvm 설정을 가지고 있습니다. 이 최대 절전 모드입니까?

당신이 바로 당신이 더 이상 필요하지 않는 session.evict(obj)와 최대 절전 모드 컨텍스트에서 개체를 제거해야합니다 4.XX 자바 1.7

+0

512m에서 1024m로 변경해야 할 수도 있습니다. 그게 도움이 될거야. –

답변

1

최대 절전 모드. 그렇지 않으면 모든 엔티티가 매우 빠르게 메모리를 채 웁니다.

적극적인 알고리즘의 문제가 아니라면 session.clear()으로 전체 컨텍스트를 지울 수도 있습니다.

충분하지 않은 경우 Java 힙 크기를 늘려야합니다.