Junior — Middle
Как реализирахте ленивото зареждане на данни при използване на Hibernate?
sobes.tech AI
Отговор от AI
В Hibernate ленивото зареждане на данни може да бъде реализирано чрез анотацията @OneToMany(fetch = FetchType.LAZY) или подобни за други връзки. Това означава, че свързаните същности не се зареждат веднага при избора на основната същност, а само при първото им използване.
Пример:
@Entity
public class User {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
private Set<Order> orders;
}
В този пример колекцията orders ще се зареди от базата данни само при първия извикване на user.getOrders(). Това помага за оптимизиране на производителността, като намалява количеството зареждани данни, ако свързаните обекти не са необходими веднага.