개발/Spring

[Spring] ORM,JPA,Spring Data JPA

2juhyunju 2022. 6. 16. 14:42

ORM

  • 객체와 관계형 데이터를 매핑하기 위한 기술
  • 왜 사용? 프로그래밍 언어와 관계형 데이터베이스 사이의 데이터 표현 방식이 달라서 생기는 문제를 해결하고자 사용한다.

JPA

  • JAVA에서 사용하는 대표적인 ORM 기술에 대한 API 표준 명세이다.
  • JPA는 애플리케이션과 JDBC 사이에서 동작한다.
  • 개발자가 JPA를 사용하면 JPA 내부에서 JDBC API를 사용하여 SQL을 호출하여 DB와 통신하기 때문에 개발자가 직접 JDBC API를 사용할 필요가 없다.

Spring Data JPA

  • Spring에서 JPA를 편리하게 사용할 수 있도록 지원하는 모듈
  • JPA를 사용할 때 필수적으로 생성해야하나 예상 가능하고 반복적인 코드들을 대신 작성해줘서 코드를 줄여준다.
  • 이 코드를 줄여주는 과정을 Repository라는 인터페이스를 제공함으로 써 이루어진다.