andbin ha scritto:
giannino1995 ha scritto:
Se ti chiedessi di consigliarmi 2 strumenti per interagire con un database, il primo mediante la scrittura di query e la seconda mediante un ORM. Quali prodotti mi consiglieresti oggi nel 2020?
Dipende molto dal contesto e da quante/quali query si devono fare. Dipende anche se l'applicazione deve poter essere multi-database, ovvero "switchare" DB in base ad una property, una opzione, ecc...
Per poche e/o semplici query potrebbe bastare il JdbcTemplate di Spring.
Per query un po' più complesse o comunque per codice SQL già esistente che si vuole ri-utilizzare, MyBatis è una scelta.
Se si ha la fortuna di avere un db con tabelle ben normalizzate e ci sono relazioni "complesse" da trattare, allora JPA/Spring Data JPA è un'altra scelta.
Nota che JPA e Spring Data JPA sono due cose differenti. JPA è una specifica originariamente del Java Enterprise (JavaEE) per gestire la persistenza tramite il concetto delle Entity e con l'uso di metadati (annotation e/o XML) che descrivono le tabelle e le relazioni.
Spring Data JPA è uno strato di Spring al di sopra di JPA che offre delle interfacce per rappresentare i repository, ovvero concettualmente i DAO.
giannino1995 ha scritto:
soprattutto buone vacanze
Grazie ma beh .. più o meno...
Il capitolo 8 del mio libro immagino parli di
JPA e non
Spring Data JPA, giusto? Mi consigli di studiare Spring Data JPA da qualche altra parte o studiare JPA per capire i capitoli successivi?
Chapter 8:
Working with JPA
Chapter 9: Working with MongoDB
Chapter 10: Web Applications with Spring Boot
Chapter 11: Building REST APIs Using Spring Boot
Chapter 12: Reactive Programming Using Spring WebFlux
Chapter 13: Securing Web Applications
Chapter 14: Spring Boot Actuator
Chapter 15: Testing Spring Boot Applications
Chapter 16: Creating a Custom Spring Boot Starter
Chapter 17: Spring Boot with Groovy, Scala, and Kotlin
Chapter 18: Introducing JHipster
Chapter 19: Deploying Spring Boot Applications
Il capitolo 9 mi interessa, il 10 sembra indispensabile, l'11 è essenziale, dal 12 in avanti non so di che si parla...
A me interessa un ORM potente quindi
Spring Data JPA,
l'uso della tecnologia REST,
Spring Security per dare sicurezza alla login e credo null'altro.
Consigli su come procedere?
Grazie per il tuo supporto