Junior — Middle
რა ტიპის სლაიდებისა და სწრაფი დატვირთვის სტრატეგიები ცნობილია JPA-ში?
sobes.tech AI
პასუხი AI-სგან
JPA-ში ორი ძირითადი სტრატეგია არსებობს დაკავშირებული მონაცემების ჩატვირთვისთვის:
-
მოყოლა eager (EAGER): დაკავშირებული ერთეულები იჩატვირთება დაუყოვნებლივ ძირითადი ერთეულისთან ერთად. ეს სასარგებლოა მაშინ, როდესაც დაკავშირებული მონაცემები დაუყოვნებლივ სჭირდება, მაგრამ შეიძლება გამოიწვიოს ზედმეტმა სარეკლამო მოთხოვნებმა და შეამციროს შესრულება.
-
მოყოლა lazy (LAZY): დაკავშირებული ერთეულები იჩატვირთება მხოლოდ პირველ მიმართვაზე. ეს ხარჯებს დაზოგავს, მაგრამ მოითხოვს, რომ EntityManager-ის სესია გახსნილი იყოს მონაცემების წვდომის დროს, წინააღმდეგ შემთხვევაში შეიძლება გამოიწვიოს LazyInitializationException შეცდომა.
JPA-ში ანოტაციის მაგალითი:
@OneToMany(fetch = FetchType.LAZY)
private List<Order> orders;
@OneToOne(fetch = FetchType.EAGER)
private Profile profile;