SMALL
JPA ( Java Persistence API )
- 자바 ORM 기술에 대한 API 표준 명세
- 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
ORM ( Object Relational Mapping )
- 객체와 관계형 데이터베이스를 매핑하는 기술
( DB Data --- Mapping --- Object )
- 비교되는 개념으로는 SQL Mapper가 있다
( SQL --- Mapping --- Object )
이 각각의 개념을 머리속에 생각해보면,
자바에서 ORM기술을 사용하여 애플리케이션을 짜고 싶으면, 그의 표준인 JPA를 사용하여 작성해야 한다.
( ORM을 사용하기 위해서는 표준인 JPA가 있지만, SQL Mapper를 사용하기 위해서는 표준이라고 딱히 정의된 부분은 없는 것 같다. 그냥 SQL를 통해 실행된 DB Data를 애플리케이션 레벨에 맞는 객체로 전환한다고 생각하면 될 것 같다.)
위에서 말한것 처럼, JPA는 기술 명세이다.
어떻게 사용할지 가이드만 제공한 것이지, 실제 구현체가 아니다.
단순 인터페이스이다.
그렇다면, 왜 JPA라는 표준까지 정해 놓으면서, ORM을 사용하려 하는 것인가
- DBMS에 대한 종속성을 줄일 수 있다.
- 객체 지향적인 코드로 더 직관적이고 비즈니스 로직에 더 집중할 수 있다.
더 나아가 JPA 기술 명세의 구현체인 ORM 프레임워크를 사용하면
개발자가 직접 query를 작성하지 않고, 메서드 호출로 원하는 데이터를 조회할 수 있고, 애플리케이션 레벨의 객체로 전환도 해주는 편리함을 누릴 수 있다.
( ex : Hibernate )
LIST
'Development' 카테고리의 다른 글
[JPA] Entity, Dto 분리 ( DB, View Layer ) (0) | 2021.04.16 |
---|---|
[Persistence] ORM, SQL Mapper에 대해서 ( 차이점 ) (0) | 2021.04.04 |
[Hateoas] Hateoas(헤이티오스) 란 ( + REST API란 ) (0) | 2021.03.03 |
[JWT] JWT 란 (JSON Web Token) (2) | 2021.02.26 |
gradle build시 사용되는 dependency 확인하는 방법 (0) | 2020.05.28 |