Persistența Datelor cu Spring Data JPA: Entități Hibernate, Repositories, Interogări @Query și Tranzacții @Transactional în Spring Boot

Persistență & JPA Spring Boot 3

Ghid complet pentru Spring Data JPA și Hibernate: maparea entităților relaționale (@Entity, @Table), rezolvarea problemei N+1 cu @EntityGraph, interogări native vs JPQL și propagarea tranzacțiilor.

Sintaxă
public interface UserRepository extends JpaRepository<User, Long> { ... }

Prin extinderea interfeței JpaRepository<Entity, ID>, Spring Data JPA oferă gratuit toate operațiunile CRUD standard (save, findById, delete, pagination), permițând scrierea de interogări personalizate folosind JPQL sau SQL nativ.