Notice
Recent Posts
Recent Comments
Link
관리 메뉴

look-forest

공통 인터페이스 기능 본문

JPA/Spring data JPA

공통 인터페이스 기능

studyHub 2024. 10. 19. 16:49

JpaRepository 인터페이스를 상속 받으면 구현체를 만들어주면서, 공통 CRUD 기능을 사용할 수 있다.

(내부에서 entity manager를 사용한다)

1. JavaConfig 설정- 스프링 부트 사용시 생략 가능

2. 스프링 데이터 JPA가 구현 클래스를 대신 생성
    - 실제 출력해보면 프록시. memberRepository.getClass() -> class com.sun.proxy.$ProxyXXX

@Repository 애노테이션 생략 가능(컴포넌트 스캔 + JPA 예외를 스프링 추상화 예외로 변환)
org.springframework.data.repository.Repository 를 구현한 클래스는 스캔 대상

3. 공통 인터페이스 구성

스프링 데이터는 스프링 데이터 JPA, 스프링 데이터 몽고 등 여러 DB의 공통 기능 포함

 

4. 주요 메서드

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

 


참고 자료 & 이미지 출처
실전! 스프링 데이터 JPA (김영한 님)

 

'JPA > Spring data JPA' 카테고리의 다른 글

스프링 데이터 JPA 분석  (0) 2024.10.20
확장 기능  (2) 2024.10.20
다양한 편의 기능  (0) 2024.10.19