JpaRepository
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
public interface PostRepository extends JpaRepository {
// Interogare derivată generată automat la runtime:
List findByStatusAndAuthorIdOrderByCreatedAtDesc(String status, Long authorId);
// Interogare JPQL optimizată cu fetch join
@Query("SELECT p FROM Post p JOIN FETCH p.tags WHERE p.category = :cat")
List findAllWithTagsByCategory(@Param("cat") String cat);
}
Bune Practici în Producție
- Arhitectură și Tipizare: Folosiți DTO-uri, validare strictă și principii de decuplare (Inversion of Control).
- Performanță: Evitați interogările N+1, folosiți mecanisme de caching și rute asincrone unde este cazul.
- Securitate: Validați întotdeauna datele de intrare și aplicați filtre de autorizare pe toate endpoint-urile sensibile.