[Spring] ORM, JPA, Spring Data JPA

상트리버·2022년 12월 6일
0

Spring 이론

목록 보기
12/23

ORM 이란?

ORM 이란 Object-Relational Mapping 의 약자로, 이름 그대로 객체(Object)와 관계형 데이터(Relational data) 를 매핑하기 위한 기술이다.

이러한 매핑이 필요한 이유는 객체 지향 언어과 관계형 데이터베이스사이의
패러다임 불일치가 있기때문이다. 이 둘 간의 패러다임 불일치 때문에 개발자는 더 많은 코드를 작성해야 하며, 이는 반복적이고 실수하기 쉬운 작업이 된다. 그렇기 때문에 개발자는 객체지향적인 설계에 집중할 수 없게 된다. ORM이 바로 이러한 문제를 해결해 준다.

  • Application의 객체(클래스)를 DB의 테이블로 Mapping 한다는 개념
  • 클래스와 DB의 테이블은 기존부터 호환가능성을 염두해두고 만들어진 것이 아니기 때문에 불일치 발생이 당연
  • 이러한 불일치를 해결하며 객체와 테이블의 관계를 바탕으로 SQL 문장을 자동으로 생성하여 객체로 DB를 조작하게 해주는 것이 ORM


JPA(Java Persistence ApI)

JPA는 Java Persistence API의 약자로, 자바 ORM 기술에 대한 API 표준 명세이다. 즉, 인터페이스의 모음이다. 이러한 JPA 인터페이스를 구현한 대표적인 프레임워크가 하이버네이트(Hibernate)이다.

JAVA진영의 표준 ORM


Spirng Data JPA

Spring framework에서 JPA를 편리하게 사용할 수 있도록 지원하는 프로젝트(모듈)이다. Spring Data JPA의 목적은 JPA를 사용할 때 필수적으로 생성해야하나, 예상가능하고 반복적인 코드들을 대신 작성해줘서 코드를 줄여주는 것이다. 이는 JPA를 한 단계 추상화시킨 Repository라는 인터페이스를 제공함으로써 이루어진다.

Spring Data JPA는 데이터 계층에 접근하기 위해 필요한 뻔한 코드들의 사용을 줄여주도록 하는 인터페이스이다.업로드중..

0개의 댓글