W przypadku asocjacji o pojedynczej wartości, tj.-Jeden do jednego i Wiele do jednego: -
Domyślnie Lazy = proxy Leniwe
ładowanie proxy : - Oznacza to, że ładowany jest obiekt proxy powiązanej jednostki. Oznacza to, że tylko identyfikator łączący dwie jednostki jest ładowany dla obiektu proxy powiązanej jednostki.
Np .: A i B to dwa byty ze skojarzeniem Wiele do jednego. tj .: może istnieć wiele A dla każdego B. Każdy obiekt A będzie zawierał odniesienie do B.
"
public class A{
int aid;
//some other A parameters;
B b;
}
public class B{
int bid;
//some other B parameters;
}
`
Relacja A będzie zawierała kolumny (pomoc, oferta, ... inne kolumny podmiotu A).
Relacja B będzie zawierała kolumny (cena ofertowa, ... inne kolumny jednostki B).
Proxy oznacza, że kiedy A jest pobierane, tylko id jest pobierane dla B i przechowywane w obiekcie proxy B, który zawiera tylko id. Obiekt proxy klasy B jest obiektem klasy proxy będącej podklasą klasy B z minimalną liczbą pól. Ponieważ oferta jest już częścią relacji A, nie jest konieczne uruchamianie zapytania w celu uzyskania oferty z relacji B. Inne atrybuty jednostki B są ładowane leniwie tylko wtedy, gdy jest otwierane pole inne niż oferta.
Dla kolekcji, tj.-Wiele-do-wielu i jeden-do-wielu: -
Domyślnie Lazy = true
Należy również pamiętać, że strategia pobierania (wybierz, dołącz itp.) Może zastąpić leniwość. tj .: Jeśli lazy = 'true' i fetch = 'join', pobranie A spowoduje również pobranie B lub Bs (w przypadku kolekcji). Możesz znaleźć powód, jeśli o tym pomyślisz.
Domyślne pobieranie dla asocjacji o pojedynczej wartości to „dołącz”.
Domyślne pobieranie dla kolekcji to „wybierz”. Sprawdź ostatnie dwie linie. Wydedukowałem to logicznie.