Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 지연 로딩
- 컨테이너
- Spring
- securitycontextholderfilter
- JPA
- 서블릿 컨테이너
- DI
- mybatis
- AWS
- CORS
- kafka
- Web
- 쿠버네티스
- DLQ
- JWT
- Routing Key
- Spring Container
- MSA
- 스프링 부트
- redis
- docker
- Dead Letter Queue
- 페이징
- JdbcTemplate
- docker compose
- dockerhub
- Spring Data JPA
- @Transactional
- JPQL
- @ComponentScan
Archives
- Today
- Total
look-forest
공통 인터페이스 기능 본문
JpaRepository 인터페이스를 상속 받으면 구현체를 만들어주면서, 공통 CRUD 기능을 사용할 수 있다.
(내부에서 entity manager를 사용한다)
1. JavaConfig 설정- 스프링 부트 사용시 생략 가능
2. 스프링 데이터 JPA가 구현 클래스를 대신 생성
- 실제 출력해보면 프록시. memberRepository.getClass() -> class com.sun.proxy.$ProxyXXX


3. 공통 인터페이스 구성

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 |