LAzy initialization and performance

0

Hej

Chciałem się dowiedzieć czy można w jakiś dobry sposób zastąpić to lazy.
Mianowicie chodzi mi o wydajność takiego zastosowania.

Przypuśćmy że mamy dwie tabele Users oraz Addresses. Users jest do Addresses w relacji OneToMany z ustawioną LazyInitialization...

Jeżeli wyciągnę userów a później odwołam sie do metody getAdressess to automatycznie dostanę dwa zapytania.
Co jest lepsze...
zapytać dwa razy bazę czy ustawić Eager jako FetchType (słyszałem że jednymi z najbardziej czasochłonnych operacji w apce są własnie połączenia z bazą).
Czy może ktoś zna jakiś inny trick jak to uniknąć tego drugiego połączenia z bazą. Patrzyłem na Constructors Expression ale jest bardzo cięzko z wykrywaniem błędów w późniejszym etapie.

Pozdr

4

1) Zostaw na Lazy.
2) Jeżeli wiesz że będziesz korzystał z adresów, zrób z apytanie z join fetch. Wtedy automatycznie zostaną dodane dane z adress.

I to tyle :)

1

Ani jedno ani drugie. Tak jak pisze @krzysiek050 należy zrobić fetch join a nie cudować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0