Hej mam małe REST API mam dwie encje, dwa serwisy, dwa DAO.Encje się różnią troszkę polami ale serwisy mają podobne metody np:
public List<Flight> getListOfFlights() {
return flightDAO.getListOfFlights();
}
public List<Tourist> getListOfTurist() {
return touristDAO.getListOfTurist();
}
oraz DAO mają też podobne metody np:
@Override
public List<Flight> getListOfFlights() {
Session currentSession = sessionFactory.getCurrentSession();
Query<Flight> theQuery = currentSession.createQuery("from Flight", Flight.class);
return theQuery.getResultList();
}
@Override
public List<Tourist> getListOfTurist() {
Session currentSession = sessionFactory.getCurrentSession();
Query<Tourist> theQuery = currentSession.createQuery("from Tourist order by lastName", Tourist.class);
List<Tourist> tourist = theQuery.getResultList();
return tourist;
}
Jak uniknąć takiej duplikacji w tych warstwach?? Jaka jest dobra praktyka??