[Spring] Spring Data JPA

thingzoo·2023년 6월 26일
0

Spring

목록 보기
28/54
post-thumbnail

Spring Data JPA

  • Spring Data JPA: JPA를 쉽게 사용할 수 있게 만들어놓은 모듈
    • JpaRepository: JPA를 추상화시킨 Repository 인터페이스
  • JpaRepository는 Hibernate와 같은 JPA구현체를 사용해서 구현한 클래스(SimpleJpaRepository)를 통해 사용 가능

SimpleJpaRepository

  • Spring Data JPA에서는 JpaRepository 인터페이스를 구현하는 클래스를 자동으로 생성해줌
    • Spring 서버가 뜰 때 JpaRepository 인터페이스를 상속받은 인터페이스가 자동으로 스캔이 되면,
    • 해당 인터페이스의 정보를 토대로 자동으로 SimpleJpaRepository 클래스를 생성해 주고, 이 클래스를 Spring ‘Bean’으로 등록함
  • 따라서 인터페이스의 구현 클래스를 직접 작성하지 않아도 JpaRepository 인터페이스를 통해 JPA의 기능을 사용 가능

사용 방법

  • JpaRepository 등록
public interface MemoRepository extends JpaRepository<Memo, Long> { // <Entitiy, Id>

}
  • interface ???Repository extends JpaRepository<"@Entity 클래스", "@Id 데이터 타입">

    • 이제 Spring Data JPA에 의해 자동으로 Bean 등록됨
  • 메소드

    • save(entity)
    • findAll()
    • findById(Long Id): return Optional<T>
    • update 존재 안함: 객체를 수정하고 영속성 컨텍스트 변경감지를 통해 진행
    • delete(entity)
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글