Optymalne wybranie encji i funkcje agregujące na dzieciach - Hibernate one to many

0

Załóżmy że mamy klasy Book i Review
Klasa Review ma ocene ( w skali 0-5 np.) i mapowania na wiele do jednego względem Book.
Zastanawiam się jak optymalnie przeprowadzić operację wybrania książek i dodania do nich sumy ilości recencji i średnej oceny bez stosowania fetch joina - po prostu chce wybrać książki i dane z recenzji bez ładowania recenzji
Czy istnieje jakaś optymalna metoda na to?
Można by użyć @Formula ale raczej nie jest to specjalne odpowiednie(mało optymalne),można jeszcze wybrać chyba takie coś w HQL i wtedy zwróci listę tablic obiektów, ale czy istnieje jakaś inna opcja (np. taka żeby można było korzystać z Criteria API)

0

Spróbuj z czymś takim. Nie jestem pewny czy zabangla, ale jeżeli tak, to będzie optymalne. Do tego da się to przepisać na Criteria API (bueee).

@AllArgsConstructor
class BookWithReviewCount {
    private Book book; 
    private Integer reviewCount;
}
Select new BookWithReviewCount(b, count(r)) FROM Book b INNER JOIN b.reviews r

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