JPA란? [TIL.220604]

박건영(Parkgunyoung)·2022년 6월 4일
0

til

목록 보기
12/17
post-custom-banner

JPA란? Java Persistence API

강을를 듣다보면 무의식적으로 멍을 때리며 듣게 되는 경우가 많았는데 이러면 핵심적인 내용들을 이해하지 못하고 결국 강의의 전반적인 내용을 이해하지 못하게 되는 것 같았다.

또한 강의를 들으며 코드를 따라적기만 하면 머릿속에 잘 남지 않는 것 같아 이러한 정의나 설명 또는 절차 등 은 강의 중간에 한 번씩 멈추어서 다시 글로 꺼내어 작성하는 습관을 가져 보려고 한다. ㅎㅎ

JPA는 JAVA의 ORM 이다.

그럼 ORM은 무엇인가???????????????

ORM은 Object-Relational Mapping으로

우리가 프로그래밍시 사용하는 언어(Java, Phython, JavaScript 등)와 관계형 DB(DataBase)에서 사용하는 언어가 다른데 이 가운데에서 통역사 같은 역할을 하는 존재이다!

ORM 탄생배경

ORM이 없었던 시절 백앤드 개발자들은 비지니스 로직을 구현하는데 더불어 이를 데이터베이스와 연결을 시킬 때 DB 언어에 맞추어 SQL작성에도 많은 시간과 노력이 들었다.

SQL이 사용하는 문법은 단순하고 반복적이지만 실수를 하기 쉬웠고 이는 DB와의 연결에 있어 에러를 발생시키는 요인과 직결이 된다.

그래서 탄생한 것이 ORM이다.

query문을 작성하지 않아도 웹서버 개발 언어를 사용하여 명령을 내리면 ORM이 중간에서 이를 SQL문으로 번역을 해주어 DB에 다시 명령을 내리는 방식처럼 중간자의 역할을 해주는 통역사 이다.

JPA는 Java를 위한 ORM을 뜻한다.


ORM이 없으면 웹서버 개발을 못하나(DB와 연결 할 수 없나...?!)

전혀 아니다 앞서 말했듯 과거에는 ORM이 없었고 따로 query문을 작성하여 DB에 명령을 내렸었다...!



Hibernate???

JPA는 표준명세이고, 이를 실제 구현하는 프레임워크 중 비공식적으로 Hibernate가 사실상 표준이라고 한다!

사실상표준(de factp: 디펙토)
: 보통 기업간 치열한 경쟁을 통해 시장에서 결정되는 비공식적인 표준을 뜻한다.

profile
쓰러지면어때일어나면그만인걸
post-custom-banner

0개의 댓글