Możesz sugerować się implementacja zastosowaną w wydatkach (Expenses), rozwiązanie będzie bardzo podobne.

 

Mając już szkielet Fabryki, wystarczy dodać nową klasę, jak na rys. 1., która będzie rozszerzała FilterRange, ale której zadaniem będzie pobranie danych z bazy danych i tabelki Assets - wywołanie AssetsRepository.

 

AssetsRepository nie ma metody do pobierania przychodów, po zakresie dat, ale metoda ta, będzie identyczna jak w ExpensesRepository, findAllByBetweenDate, jedynie parametr zwracany zostanie zmienony na listę encji przychodów: List<AssetsEntity>, z oznaczeniem:

 

@Query("SELECT e FROM AssetEntity e WHERE e.user = :user AND e.incomeDate >= :fromDate AND e.incomeDate <= :toDate")

 

Oczywiście możesz zastosować: "JPA Query Methods", zwróć uwagę, że ważnym parametrem tego zapytania jest informacja o użytkowniku.

 

HINT: w klasie abstrakcyjnej występuje metoda abstrakcyjna: List<ExpensesEntity> getAllEntityBetweenDateta metoda powoduje błędy, po rozszerzeniu Fabryki, jej poprawna forma teraz to List<T> getAllEntityBetweenDate - zapoznaj się z koncepcję Klas Generycznych,po zmianie na klasę generyczną, będzie trzeba poprawić wszystkie błędy, jakie powstały.

 

HINT: Poprawne tworzenie obiektów dla Klas Generycznych, np.:

private final FilterRange<ExpensesEntity> FilterRange.

 

HINT: Jeśli oznaczyłeś klasę FilterRange adnotacją @Component, możesz już ją usunąć, teraz jest to nadmiarowa informacja.

10 Pobranie z Bazy danych Przefiltrowanych Przychodów

02 marca 2024

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.