Backend/JPA

JPA, Spring Data JPA

간지나제 2021. 3. 29. 00:27

서사

JDBC API -> SQL Maapper(Spring JDB, Mybatis) - Spring Data JPA 순으로 추상화가 되었음

 

JPA(Java Persistence API)

- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스

 

Hibernate: JPA 인터페이스 구현체 중 하나로 가장 대표적인 구현체

 

Spring Data JPA

- ORM을 위한 자바 EE표준이며 jpa를 쉽게 사용하기 위해 Spring에서 제공하고 있는 프레임워크

- Spring Boot에서 인터페이스를 만들고 JpaRepository를 상속받아서 사용한다.

- Spring-data-jpa -> Hibernate -> JPA (추상화정도)

- 개발자가 JPA를 사용하면 JPA 내부에서 JDBC API를 사용하여 SQL을 호출하여 DB와 통신한다.

- 사용이유

   1. SQL중심적인 개발에서 객체 중심적인 개발이 가능하다.

   2. 생산성이 증가 (간단한 메서드로 CRUD 가능)

   3. 유지보수가 쉽다. (필드 변경시 모든 SQL을 수정해야하는데 JPA는 필드만 추가하면 된다.)

   4. Object와 RDB간의 패러다임 불일치 해결

 

ORM(Object Relational Mapping)

- DB테이블을 자바 객체로 mapping함으로써 객체간의 관계를 바탕으로 SQL을 자동 생성

 

JDBC

- DB에 접근할 수 있도록 자바에서 제공하는 API

- 모든 Java Data Access 기술의 근간이다.

 

 

 

출처: 우아한형제 테크톡

 

suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/

 

JPA, Hibernate, 그리고 Spring Data JPA의 차이점

개요 Spring 프레임워크는 어플리케이션을 개발할 때 필요한 수많은 강력하고 편리한 기능을 제공해준다. 하지만 많은 기술이 존재하는 만큼 Spring 프레임워크를 처음 사용하는 사람이 Spring 프레

suhwan.dev

 

goddaehee.tistory.com/209

 

[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정

[스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 JPA 설정 방법] 입니다. : ) 0. 기본개념 JPA를 들어가기 전에 ORM부터 간..

goddaehee.tistory.com