티스토리 뷰

        System.out.println("memberRepository = " + memberRepository.getClass());

 

log

memberRepository = class jdk.proxy2.$Proxy123

 

jpaRepository를 extends한 repository를 로그에 찍어봤다. 정체는 프록시였는데,

스프링jpa가 인터페이스를 보고 구현체를 꼿아버린거다. 구현체를 스프링 JPA가 만들어주기 때문에 인터페이스 만으로 메소드를 다 사용이 가능한 것이다.

 

 

 

제네릭 타입

- T : 엔티티

- ID : 엔티티의 식별자 타입

- S : 엔티티와 그 자식 타입

 

주요 메서드

- save(S) : 새로운 엔티티는 저장하고 이미 있는 엔티티는 병합한다.

- delete(T) : 엔티티 하나를 삭제한다. 내부에서 'EntityMananger. remove()' 호출

- findById(ID) : 엔티티 하나를 조회한다. 내부에서 'EntityManager.find()' 호출

- getOne(ID) : 엔티티를 프록시로 조회한다. 내부에서 'EntityManager.getReference()' 호출

- FindAll(...) : 모든 엔티티를 조회한다 . 정렬('sort')이나 페이징('Pageable') 조건을 파라미터로 제공할 수 있다.

 

'dev_공부일지 > spring data JPA' 카테고리의 다른 글

@Query 값 DTO 조회하기 , 파라미터 바인딩  (0) 2024.03.05
JPA NamedQuery  (0) 2024.03.05
메소드 이름으로 쿼리 생성  (0) 2024.03.05
기본 및 설정  (0) 2024.03.04
Spring Data JPA 소개  (0) 2024.03.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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 31
글 보관함