Middle
Lazımi yuklash (lazy) va shoshilinch yuklash (eager) o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Lazy yuklash ob'ektni birinchi kirishigacha boshlashni kechiktiradi. Tashqi yuklash, uni o'z ichiga olgan asosiy ob'ektni yuklashda darhol boshlaydi.
Farqlar:
| Xususiyat | Lazy yuklash | Tashqi yuklash |
|---|---|---|
| Yuklash vaqti | Birinchi foydalanishda | Asosiy ob'ektni yuklashda |
| Yuk | Vaqt bilan taqsimlangan | Bir martalik, boshlanishda |
| Xotira | Dastlab xotirani tejash | Darhol ko'proq xotira talab qilishi mumkin |
| Ishlash tezligi | Ma'lum ma'lumotlar bilan ishlashda yaxshiroq | Agar barcha ma'lumotlar darhol kerak bo'lsa, tezroq bo'lishi mumkin |
Hibernate misoli:
// Lazy yuklash
@Entity
public class Order {
@OneToMany(fetch = FetchType.LAZY)
private List<Item> items;
}
// Tashqi yuklash
@Entity
public class Order {
@OneToMany(fetch = FetchType.EAGER)
private List<Item> items;
}