JPA란 Java Persistance API의 약자로서 자바 ORM(Object Relational Mapping) 기술에 대한
표준명세(구조와 기능을 상세하게 기술한 문서)로 JAVA에서 제공하는 API이다
JPA의 스펙은 자바객체와 데이터베이스를 어떻게 매핑하고 동작해야하는지를 정의한다
RAM에 있는 데이터들은 휘발성데이터이다
컴퓨터를 부팅하면 열려있던 창이 종료되있는데 이런것들을 휘발성데이터라고 생각하면된다
하드디스크는 비휘발성데이터로 영속성의 특징을 가지고있다
영속성의 특징이란 지속적인 데이터란 뜻으로 데이터가 유지되는 것을 의미한다
JPA(Java Persistance API)는 자바가 지원하는 표준명세로서 ORM을 이용해 DataBase를 매핑할때
하드디스크에 DataBase 영역을 만들어 그안에 데이터를 저장하게 되는데
이러한 데이터들을 영속성(Persistance)데이터라 한다
JPA 는 자바객체가 영속성데이터를 가질 수 있게하는 인터페이스라고 이해하면 편리하다
JPA 에 관한 설명을 이해하는 중 ORM이라는 개념을 이해하기 위해 정리해보겠다
ORM은 객체-관계 매핑을 의미하는데 SQL Mapper와 비교되고 있다
SQL Mapper
- sql문을 직접 기술하여 데이터베이스를 조작한다
- 필드를 매핑하여 데이터베이스에 접근한다
ORM(Obejct Relational Mapping / 객체-관계 매핑)
- 메서드로 데이터베이스를 조작한다
- sql문을 자동으로 생성한다
Spring-Data-JPA
만약, 개발자가 JPA 구현체를 호출하여 Java와 DataBase가 ConnectionPool(연결) 할 수있는 코드를 작성한다면
DB연결이 필요할때 마다 동일한 코드들을 작성해야하는 반복되는 과정이 생길 것이다
Spring은 반복되는 코드들을 interface로 제공해주어 편리하게 사용이 가능하도록 제공해주는데
이것을 Spring-Data-JPA 모듈이라고 한다
https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/ 참고
JPA, Hibernate, 그리고 Spring Data JPA의 차이점
개요 Spring 프레임워크는 어플리케이션을 개발할 때 필요한 수많은 강력하고 편리한 기능을 제공해준다. 하지만 많은 기술이 존재하는 만큼 Spring 프레임워크를 처음 사용하는 사람이 Spring 프레
suhwan.dev
'Spring' 카테고리의 다른 글
Spring / request.getHeader() (0) | 2022.07.15 |
---|---|
Spring / Security (0) | 2022.07.15 |
Spring / Spring Boot 에 Intercapter 란? (0) | 2022.07.14 |
Spring / Thymeleaf (0) | 2022.07.14 |