BackEnd/Spring Boot

JPA 간단 사용법

Raconer 2023. 4. 17. 22:48
728x90

JPA

기본적으로 사용 하는 methods와 같이 사용을 한다.
Repository interface를 만들고 하단 interface를 extends하여 사용한다.

  • Repository<T, ID>
    • JPA에서 제공하는 가장 기본적인 인터페이스로, 엔티티의 저장, 조회, 삭제 등의 기본적인 CRUD 기능을 제공
    • 하지만 페이징 기능이나 정렬 기능 등이 없습니다.
  • CrudRepository<T, ID>
    • Repository 인터페이스를 상속하여 CRUD 기능을 제공하는 인터페이스
    • save(), findOne(), delete() 등의 기본적인 CRUD 메서드 외에도 findAll(), count(), exists() 등의 메서드를 제공합니다.
  • PagingAndSortingRepository<T, ID>
    • CrudRepository 인터페이스를 상속하여, 추가적으로 페이징과 정렬 기능을 제공하는 인터페이스
    • findAll(Pageable pageable)과 같은 메서드를 통해 페이징과 정렬이 가능합니다.
  • JpaRepository<T, ID>
    • PagingAndSortingRepository 인터페이스를 상속하여, JPA의 모든 기능을 사용할 수 있는 인터페이스
    • saveAndFlush()와 같은 메서드를 통해 즉시 저장이 가능하고, @Query 어노테이션을 사용하여 직접 쿼리를 작성 가능
    • Spring Data JPA에서 제공하는 다양한 기능을 사용할 수 있습니다.
    // Repository <T,ID>를 사용하면 아래 처럼 사용 가능하다.

    // Create, Update
    User save(User user);

    // Read
    // Find By Method는 단순할 경우에만 사용할것
    Optional<User> findById(String email);

    List<User> findByNameLike(String name);

    // Use Specification
    List<User> findAll(Specification<User> spec);

    // Delete
    void delete(User user);

위와 같이 간단 하게 사용 가능하다
각 특성에 맞게 extends하여 사용 하면된다.

728x90

'BackEnd > Spring Boot' 카테고리의 다른 글

JPA 응용 방법 _ Specification_2  (0) 2023.04.18
JPA 응용 방법 _ Specification_1  (0) 2023.04.17
Bean Life Cycle  (0) 2023.04.16
Redis 설정  (0) 2023.04.16
Show JPA Query Log  (0) 2023.04.16