Witam,
Implementuję pewną usługę której głównym zadaniem jest pobieranie oraz zapisywanie danych między innymi z oraz do bazy danych. Baza danych składa się z ogromnej ilości relacji. Pojawił się taki problem. Jedną z funkcjonalności jest wykonanie update/insert na pewnych danych otrzymanych na wejściu (jeden obiekt zawierający w sobie wszystkie dane). update/insert na danych ma być wykonany tylko w przypadku kiedy otrzymaliśmy jakąś daną na wejściu (opcjonalnie). Problem mój polega na tym, że zastanawiam się jak rozwiązać sytuacje kiedy mam bardzo dużo danych do zapisania/uaktualnienia z czym wiąże się wykonanie wielu oddzielnych zapytań do bazy (dane są w relacji z bardzo wieloma tabelkami). Nie mogę wyobrazić sobie jednej funkcji która wykonuję po kolei załóżmy 20 zapytań do bazy (na dodatek zależnie od tego czy w bazie były już dane (update) lub nie (insert), plus warunek jeśli dana != null) to się wydaje totalnie głupie. Bardziej logiczne wydaje się robić 20 oddzielnych funkcji wykonujących zapytanie ale z drugiej strony będą one użyte tylko i wyłącznie w jednym miejscu. Potrzebuje porady jak w najlepszy sposób to rozwiązać? W razie potrzeby mogę dokładniej przybliżyć problem.
Dodam, że do pracy z bazą używam springowego jdbcTemplate.