공통 인터페이스 분석

Mina Park·2022년 10월 3일
0
  1. JpaRepository 인터페이스
  • 공통 CRUD 제공(대부분의 공통화 가능한 메소드 모두 제공)
  • 제네릭은 <엔티티 타입, 식별자 타입>으로 설정
  1. 공통 인터페이스 구성

  • 제네릭 타입

    • T: 엔티티
    • ID: 엔티티의 식별자 타입
    • S: 엔티티와 그 자식 타입
  • 주요 메소드
    save(S) : 새로운 엔티티는 저장하고 이미 있는 엔티티는 병합한다.
    delete(T) : 엔티티 하나를 삭제한다. 내부에서 EntityManager.remove() 호출
    findById(ID) : 엔티티 하나를 조회한다. 내부에서 EntityManager.find() 호출
    getOne(ID) : 엔티티를 프록시로 조회한다. 내부에서 EntityManager.getReference() 호출
    findAll(…) : 모든 엔티티를 조회한다. 정렬( Sort )이나 페이징( Pageable ) 조건을 파라미터로 제공할 수
    있다.

Q. 만약 공통 인터페이스에서 제공하지 않는 도메인에 특화된 기능이 필요하다면?

  • 구현부를 직접 작성하면 될까?
    • No!!! 공통 인터페이스의 모든 메소드들을 다 구현해야하기 때문에 사실상 불가능
    • 쿼리 메소드 등으로 해결

0개의 댓글