(2) 공통 인터페이스 기능
Last update: a year ago by nowwaterReading time: 2 min
공통 인터페이스 기능
스프링 데이터 JPA를 사용하는 가장 쉬운 방법은 인터페이스를 상속받는 것이다.
// JpaRepository 공통 기능 인터페이스public interface JpaRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID> {...}// JpaRepository를 사용하는 인터페이스public interface MemberRepository extends JpaRepository<Member, Long> {}
T : 회원 엔티티
ID : 회원 엔티티 식별자
🗽 주요 메서드
이름 | 기능 |
---|---|
save(S) | 새로운 엔티티를 저장하고 이미 있는 엔티티는 수정한다. |
delete(T) | 엔티티 하나를 삭제한다. 내부에서 EntityManager.remove() 호출한다. |
findOne(ID) | 엔티티 하나를 조회한다. 내부에서 EntityManager.find() 호출한다. |
getOne(ID) | 엔티티를 프록시에서 조회한다. 내부에서 EntityManager.getReference() 호출한다. |
findAll(..) | 모든 엔티티 조회한다. 정렬이나 페이징 조건 파라미터를 제공할 수 있다. |
👀 save(S)
- 엔티티에 식별자 값이 없으면 새로운 엔티티로 판단해서 EntityManager.persist() 호출
- 식별자 값이 있으면 이미 있는 엔티티로 판단해서 EntityManager.merge() 호출
파라미터 종류
- T : 엔티티
- ID : 엔티티의 식별자 타입
- S : 엔티티와 그 자식 타입