Sto lavorando a un progetto (da usare come riferimento). Il progetto utilizza mysql, hibernate e spring (REST) e dovrebbe essere un singolo microservizio.
Sono venuto a scoprire che limitare l'accesso al database utente / consumatore alle stored procedure in mysql è considerato una pratica migliore per quanto riguarda la sicurezza (nessuna operazione non intenzionale e nessuna sql-injection). Di conseguenza ho creato stored procedure per ogni possibile interazione utente / consumatore con il database.
Per utilizzare la modalità di sospensione con stored procedure. Ho dichiarato @NamedStoredProcedureQuery
per ogni stored procedure.
Il problema (pratica) è che questo approccio sembra essere molto prolisso. specialmente quando si tratta di stored procedure che restituiscono query personalizzate (a più tabelle) (quasi tutte le query di stored procedure). Poiché dovrò definire @SqlResultSetMapping
( come mostrato qui ) per ogni query personalizzata restituita da una stored procedure.
Devo continuare a utilizzare questa pratica?
Ci sono modi migliori per ottenere lo stesso (o migliore) risultato?