Jak w temacie. Tworzę klasę mapowania do obiektów z jdbc, a dokładniej z ResultSet do dowolnego modelu.
Klasa ma wykorzystać dwie adnotacje table i column i na podstawie tych adnotacji, oraz reflekcji ma mapować nazwy z bazy danych.
Co sądzicie o takim rozwiązaniu?
Przeszukałem to forum i znalazłem zmieszczony artykuł w którym jest napisane, żeby robić to ręcznie.
Link do artykułu: https://cezarypiatek.github.io/post/why-i-dont-use-automapper/
W przypadku ręcznego mapowania, musiałbym za każdym razem sprawdzać, czy w klauzuli select występują wybrane kolumny.
Czyli mniej więcej coś takiego, dla każdego pola:
@SuppressWarnings("unchecked")
private static <T> T getValueFromResultSet(final ResultSet rs,
String columnLabel, T defaultValue) {
try {
return (T) rs.getObject(columnLabel);
} catch (SQLException e) {
return defaultValue;
}
}
Założeniem mojego mini projektu ma być lekkość, dlatego nie chce dodawać hibernate / jpa, ani jakiś zewnętrznych dużych bibliotek.
W dodatku tworząc coś własnego, omijam X warstw abstrakcji.