Cześć wszystkim.
Chciałbym się zapytać o następującą sprawę, mianowicie: mam w projekt w Javie w którym mam agregat, obiekt hierarchii klas (drzewo) który jest pobierany z bazy danych. Ma on posłużyć jako model do generowania zestawienia do excela. Obecnie agregat jest obłożony adnotacjami JPA i jego używam do pobierania danych jednakże w moim agregacie jest masa joinów do innych tabel i z tego co zauważyłem Hibernate wykonuje więcej niż jednego selecta przez co pobieranie jest strasznie wolne, stąd też moje pytania:
- Czy jest opcja aby zmusić hibernate aby pobierał cały agregat jednym zapytaniem? Aby automatu uwzględniał wszystkie joiny bez wykonywania dodatkowych selectów?
- Czy istnieją jakieś alternatywne sposoby wyciągania danych z baz danych w Javie, wydajniejsze niż Hibernate? Mam ponad 15 joinów i klepanie "boskiego" sqla mi się nie uśmiecha.
- Czy pisanie "boskiego sqla" w przypadku 15tu joinów jest najlepszym rozwiązaniem? Jak sobie radzicie z wyciąganiem danych z bazy które są rozsiane po tabelach? Jakie są najlepsze sposoby?
3.1 Czy jak się zdecyduje na "boskiego sqla" to czy istnieje jakiś prosty mechanizm do mapowania takiego wyniku na klasy? Po jakiś aliasach, cokolwiek.