*간단 개념

 

ORM

 ORM 이란 Object-Relational Mapping 의 약자로, 이름 그대로 객체(Object)와 관계형 데이터(Relational data) 를 매핑하기 위한 기술이다. 객체와 테이블 관계를 바탕으로 SQL문장을 자동으로 생성하여 객체로 DB를 조작하게 하는 기술.

객체 지향 프로그래밍과 관계형 데이터베이스 사이의 목표와 동작 방식이 다르다 보니 데이터 표현 방식이 달라서 패러다임 불일치가 일어나는데, 이 때문에 개발자는 더 많은 코드를 작성해야하고 실수하기 쉬운 것은 ORM이 해결해준다. 

 

JPA

JPA는 Java Persistence API의 약자로, 자바 ORM 기술에 대한 API 표준 명세이다. ORM을 사용하는 방식을 정의한 인터페이스를 모아둔 것. JPA는 특정 기능을 하는 라이브러리가 아니며, 말그대로 인터페이스이다. 따라서 사용방식에 대해서만 정의했을 뿐 구현이 없다.

 

Hibernate

JPA라는 명세의 구현체. 즉, JPA 인터페이스를 구현한 라이브러리 중 하나로 현 프레임워크 중 가장 주도 하고 있다.

 

Spring Data JPA

Spring Data JPA는 JPA를 쓰기 편하게 만들어놓은 모듈이다. JPA를 한 단계 추상화시킨 Repository라는 인터페이스를 제공함으로써 JPA를 사용할 때 예상가능하고 반복적인 코드들을 대신 작성해주어 코드를 줄일 수 있도록 해준다.  

내부적으로 Hibernate를 사용하고 있다.

 

 

 

 

[Spring] Spring Data JPA 이해하기 (feat ORM, JPA)

🌱 ORM 이란? ORM 이란 Object-Relational Mapping 의 약자로, 이름 그대로 객체(Object)와 관계형 데이터(Relational data) 를 매핑하기 위한 기술이다. 이러한 매핑이 필요한 이유는 객체 지향 언어과 관계형 데

doing7.tistory.com

 

+ Recent posts