Używanie generics w repozytoriach JPA Spring Data
Mam kilka prostych typów obiektów, które należy utrwalić w bazie danych. Używam Spring JPA do zarządzania tym utrzymaniem. Dla każdego typu obiektu muszę zbudować następujące elementy:
import org.springframework.data.jpa.repository.JpaRepository;
public interface FacilityRepository extends JpaRepository<Facility, Long> {
}
public interface FacilityService {
public Facility create(Facility facility);
}
@Service
public class FacilityServiceImpl implements FacilityService {
@Resource
private FacilityRepository countryRepository;
@Transactional
public Facility create(Facility facility) {
Facility created = facility;
return facilityRepository.save(created);
}
}
Przyszło mi do głowy, że może być możliwe zastąpienie wielu klas dla każdego typu obiektu trzema klasami opartymi na rodzajach, oszczędzając w ten sposób wiele szablonów kodowania. Nie jestem do końca pewien, jak się do tego zabrać, a właściwie, czy to dobry pomysł?