leeeehhjj 2021. 7. 5. 15:45

JPA란?

  • 자바 진영의 ORM 기술 표준
  • 인터페이스로서 구현체가 필요(Hibernate, Eclipse Link 등)
  • 개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 생성하여 실행
  • 스프링에서는 Hibernate을 한 단계 더 감싸놓은 Spring Data JPA 사용 -> 구현체나 저장소를 교체해야 할 때 쉽게 교체 가능 

ORM ?

Object Relational Mapping

  • 객체와 관계형 데이터 베이스의 데이터를 자동으로 맵핑해주는 것
  • 객체 간의 관계를 바탕으로 SQL 테이블을 자동으로 생성

프로젝트에 Spring Data Jpa 적용

dependencies {
	...
	implementation('org.springframework.boot:spring-boot-starter-data-jpa')
	implementation('com.h2database:h2')
	...
}

h2 : 메모리에서 실행되는 관계형 데이터베이스. 애플리케이션을 재시작할 때마다 초기화되기 때문에 JPA를 테스트할 때 사용됨