'dan sonra beklendiği gibi çalışmaz. Hazırda Bekletme 4.2'yi kullanıyorum ve bir alt öğe topluluğu içeren bir alt öğe var (One-To-Many, getirme türü LAZY ve @BatchSize(size=100))
ile açıklamalı .Hibernate @BatchSize, session.flush
i sorgulamak ve birkaç ana varlıkları yüklemek ve alt nesne içeren koleksiyon, derin uyku bekliyordu. olarak @BatchSize
kullanan Ama oturumu, floş diyoruz ve daha sonra aynı şeyi yaparsan, o koleksiyonunu sadece başlatır erişimin ararsanız Bu özel ana varlık için
Hazırda bekletme durumu beklenen davranış?
Düzenleme: Numune Sorunuzu doğru alırsanız
List parents = criteria.list() parents.get(0).getXs().get(0) // triggers loading Xs of all parents
vs
List parents = criteria.list() session.flush() parents.get(0).getXs().get(0) // triggers loading Xs of only the first parent
için BatchFetchQueue temizler AbstractFlushingEventListenrner sınıfında bu kodu buldum Bu ilgisi yok Session.flush' ile. Session.clear'yi kastediyor musunuz? –
Hayır, oturum temizlemeyi kullandığımdan eminim, bunu test ettim. Eğer session.flush demediysem, o zaman problemim çözülecektir. ama bunun arkasındaki teoriyi bilmek istiyorum. – hunter
Ebeveynleri yüklemek için HQL'yi kullanmayı dener misiniz? –