Wszystko mogę zebrać od Google jest to, że:Co zawiera obiekt proxy Hibernuj?
Hibernate używa obiektu proxy wdrożyć leniwy załadunku. Gdy zażądamy załadowania obiektu z bazy danych, a pobrany obiekt odwołuje się do innego konkretnego obiektu, Hibernate zwraca proxy zamiast konkretnego powiązanego obiektu.
Hibernacja tworzy obiekt proxy za pomocą instrumentacji kodu bajtowego (udostępniany przez javassist). Hibernate tworzy podklasę naszej klasy encji w czasie wykonywania za pomocą biblioteki generowania kodu i zastępuje rzeczywisty obiekt nowo utworzonym proxy.
Co dokładnie zawiera obiekt Proxy?
Czy zawiera obiekt odniesienia szkieletu z ustawionym tylko polem identyfikatora? Inne pole zostanie ustawione, gdy nazwiemy metodę get?
Czy obiekt Proxy zawiera instrukcję JDBC, aby pobrać wszystkie dane wymagane do pełnego wypełnienia obiektu, do którego istnieje odwołanie.
Czy jest coś, czego może mi brakować?
Nie pytam o karmienie łyżeczką, ale jeśli potrafisz podać dowolny link z informacjami, które byłyby świetne.
Wszelkie poprawki do powyższego opisu również będą mile widziane.
Przykład.
class Address {
String city;
String country;
}
class Person{
int id;
String name;
Address address;
}
Kiedy staramy się załadować obiekt Person, Hibernate będzie podklasy klasy osoba jak:
class ProxyPerson extends Person {
int id;
String name;
Address proxyCGLIBObject;
}
i zwraca obiekt ProxyPerson. Obiekt ProxyPerson będzie miał wartość id i name, ale proxy dla adresu.
Czy mam rację?
Czego mogę oczekiwać od dodania metody toString() do obiektu proxy?
Dzięki Vlad, moje pytanie nie dotyczy kolekcji, ale odniesienia do innych klas. Zobacz teraz dodany przykład. – vineeshchauhan
Tak, twoje założenia są poprawne. –
Nadal nie rozumiem. – Spider