[내배캠 Spring TIL] Spring Data JPA 썸네일

[내배캠 Spring TIL] Spring Data JPA

Spring
JPA
2024년 8월 16일

Spring Data JPA에 대해 배운 내용을 정리해보려 한다.


Spring Data JPA는 Java Persistence API(JPA)를 더 쉽게 사용할 수 있도록 도와주는 스프링 모듈이다.

JPA(Java Persistence API) #

관계형 데이터베이스와 객체 간의 매핑을 관리하고 처리하는 데 사용되는 표준화된 API이다. JPA를 사용하면 SQL을 직접 작성하지 않고도 데이터베이스에 데이터를 저장하고 조회할 수 있다.

Repository 인터페이스 #

  • Repository: 가장 기본이 되는 인터페이스로, CRUD(생성, 읽기, 갱신, 삭제) 기능을 지원한다.
  • CrudRepository: Repository를 확장하여 CRUD 기능을 제공하며, 주로 간단한 CRUD 작업에 사용된다.
  • JpaRepository: CrudRepository를 확장하여 JPA와 관련된 기능을 추가로 제공한다. 예를 들어, 페이징 및 정렬 기능이 포함되어 있다.
public interface UserRepository extends JpaRepository<User, Long> {
}

쿼리 메소드 #

Spring Data JPA는 메소드 이름만으로도 다양한 쿼리를 작성할 수 있다.

findBy, findAllBy, countBy, deleteBy 등의 메소드를 사용하여 원하는 조건으로 데이터를 조회, 수정, 삭제할 수 있다.

List<User> findByLastName(String lastName);
Optional<User> findByEmail(String email);

@Query 어노테이션 #

복잡한 쿼리를 직접 작성할 때 사용된다. JPQL(Java Persistence Query Language) 또는 네이티브 SQL을 사용할 수 있다.

@Query("SELECT u FROM User u WHERE u.status = ?1")
List<User> findByStatus(String status);

최근 게시물

김진근 • © 2024