Spring/팀스파르타

21. Spring Data JPA란 무엇일까?

열심히 해 2024. 11. 6. 22:48

 

  • Spring Data JPA는 JPA를 쉽게 사용할 수 있게 만들어놓은 하나의 모듈입니다.
    • JPA를 추상화시킨 Repository 인터페이스를 제공합니다.
  • Repository 인터페이스는 Hibernate와 같은 JPA구현체를 사용해서 **구현한 클래스를 통해 사용됩니다.
    • 개발자들은 Repository 인터페이스를 통해 JPA를 간편하게 사용할 수 있게 되었습니다.

 

 

 

 

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

 

 

 

Spring Data JPA 사용방법 - JpaRepository 등록

  • JpaRepository<"@Entity 클래스", "@Id 의 데이터 타입">를 상속받는 interface로 선언합니다.
    • Spring Data JPA에 의해 자동으로 Bean 등록이 되었습니다.
    • 제네릭스의 @Entity 클래스 위치에 Memo Entity를 추가했기 때문에 해당 MemoRepository는 DB의 memo 테이블과 연결되어 CRUD 작업을 처리하는 인터페이스가 되었습니다.

 

 

'Spring > 팀스파르타' 카테고리의 다른 글

23. Query Methods란 무엇일까?  (1) 2024.11.08
22. JPA Auditing  (3) 2024.11.07
20. Spring의 트랜잭션  (1) 2024.11.05
19. 영속성 컨텍스트의 기능  (1) 2024.11.05
18-1. Persistence Context 와 Transaction  (1) 2024.11.05