Close
Close full mode
logo만렙 개발자 키우기

(2) 공통 인터페이스 기능

Git RepositoryEdit on Github
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 : 엔티티와 그 자식 타입
🚀 JPA — Previous
(1) 소개
Next — 🚀 JPA
(3) 쿼리 메소드 기능