Sono d'accordo con @Timo. L'unica altra intuizione che vorrei aggiungere / espandere è che ORM ha una semantica diversa dal puro accesso sql ai tuoi dati.
Lo scopo di ORM è quello di astrarre il più possibile il fatto che i tuoi dati si trovino in un DB. Quando si utilizza correttamente ORM, tutte le operazioni di persistenza vengono gestite in un (si spera) sottile strato. Gli oggetti del modello avranno poco o nessun codice di persistenza; il fatto che stai usando ORM dovrebbe essere invisibile al tuo modello.
Per questo motivo, ORM è molto bravo a semplificarti la vita per determinati tipi di operazioni, vale a dire semplici operazioni CRUD. Puoi caricare gli oggetti del tuo modello, presentarli, aggiornarli, eliminarli abbastanza facilmente. Ti semplifica la vita perché quando accedi ai tuoi dati, ottieni indietro gli oggetti del modello, su cui puoi scrivere la logica di business. Se utilizzi JDBC, dovrai "idratare" le istanze degli oggetti dai dati, il che può essere complicato e soggetto a errori.
ORM non è sempre la scelta migliore. JPA è uno strumento per un lavoro, se lo strumento non è sufficiente per il lavoro, vorrai trovare uno strumento migliore. Ad esempio, avevo uno scenario in cui dovevo copiare un intero oggetto grafico e salvare una nuova copia di quegli oggetti. Se avessi usato ORM (come ho provato a fare), dovevo caricare tutti gli oggetti dal DB, quindi copiarli, quindi salvare i nuovi oggetti. Ho impiegato troppo tempo.
La soluzione migliore era semplicemente usare le operazioni basate su jdbc e le chiamate sql "inserisci tramite selezione" per creare le nuove righe. Era veloce, il codice era più semplice.
L'altra cosa da considerare è che sei a tuo agio con JDBC e hai delle scadenze, non devi saltare sul carro dell'ORM. Le classi Spring JdbcTemplate sono estremamente potenti e utili. A volte lo strumento migliore per il lavoro è quello che conosci. Dovresti familiarizzare con ORM, ma non necessariamente per un progetto con grandi aspettative. C'è molto da imparare e non è banale: stai davvero scambiando un insieme di complessità con un altro nella scelta di usare jdbc vs orm.