2009-08-26 13 views
1

Ich verwende Hibernate 3.3.2 GA + Annotationen. Gibt es eine Möglichkeit, eine faule Liste beim Aufruf von list() bei einer Abfrage zurück zu bekommen? Die Dokumentation (19.1.3) Anmerkungen:Lazy query.list() in Hibernate?

list() gibt normalerweise keine Proxys zurück.

Die Frage ist: Wie mache ich es Proxies zurückkehren (oder mehr vielleicht genauer gesagt ein Proxy, Entitätsinstanzen während der eigentlichen Iteration zurückgibt)? Ist das überhaupt möglich? Wie würde ich die Batch-Größe anpassen?

+0

Ist es die Antwort, die Sie brauchen? http://stackoverflow.com/questions/1287702/how-can-we-reduce-the-uncesses-loading-of-objects/1288238#1288238 – Vanger

+0

Ich schrieb meine eigene Implementierung mit Ergebnis-Iteratoren (die einfach mit scroll() und angemessene Seitengrößen). Dennoch frage ich mich, wie dieses Problem mit Hibernate alleine gelöst werden sollte. – yawn

+0

@Vanger: Nein - ich weiß, wie man Assoziationen faul holt. Ich brauche faules (erstes Niveau) Wesen, das holt ... – yawn

Antwort

2

Vielleicht Query.iterate ist was du willst?

+0

Ich wollte die Bequemlichkeit, eine Sammlungsklasse der (möglicherweise) unbegrenzten Größe zu haben, ohne explizit iterieren zu müssen. Ich habe am Ende eine faule Liste geschrieben, die intern scrollbare Ergebnisse verwendet. – yawn

Verwandte Themen