2009-08-26 3 views
1

나는 Hibernate 3.3.2 GA + Annotation을 사용하고있다. 쿼리에서 list()를 호출 할 때 게으른 목록을 얻는 방법이 있습니까? 문서 (19.1.3)의 설명 :최대 절전 모드의 Lazy query.list()?

list()는 대개 프록시를 반환하지 않습니다.

질문 : 을 어떻게하면 프록시를 (이상 아마 더 정확하게 실제 반복하는 동안 엔티티 인스턴스를 반환 한 프록시) 반환 할? 그게 가능합니까? 배치 크기는 어떻게 조정합니까?

+0

필요한 답이 맞습니까? http://stackoverflow.com/questions/1287702/how-can-we-reduce-the-unnecessary-loading-of-objects/1288238#1288238 – Vanger

+0

나는 결과 반복자를 사용하여 내 자신의 구현을 작성했다. scroll() 및 합리적인 페이지 크기). 아직도 나는이 문제가 Hibernate만으로 어떻게 해결되어야하는지 의아하게 생각한다. – yawn

+0

@Vanger : 아니요 - 나는 게으르게 어소시에이션을 가져 오는 방법을 알고 있습니다. 게으른 (첫 번째 레벨) 엔티티 페치가 필요합니다. – yawn

답변

2

Query.iterate은 무엇입니까?

+0

명시 적으로 반복 할 필요없이 (잠재적으로) 무제한 크기의 콜렉션 클래스를 갖는 편리함을 원했습니다. 나는 내부적으로 스크롤 가능한 결과를 사용하는 게으른 목록을 작성했다. – yawn

관련 문제