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.
Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online
Strona www stworzona w kreatorze WebWave.