뒤로
한규태
한규태 ·

JPA? 그게 뭔데?

처음에 나는 JPA가 Spring에서 만든 줄 알았어.
그런데 아니더라고?

사실 JPA는 Java 기술 표준을 정의하는 공식 기구인
JCP(Java Community Process)라는 단체에서 만들었어.


그래서! JPA가 도대체 뭐냐?

그건 바로:

"JPA는 자바 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 표준화한 API입니다"
– 스파르타 블로그

🤨 에? 그게 무슨 말이냐고?


쉽게 설명하자면…

API는 API인데,
자바로 데이터베이스랑 쉽게 소통할 수 있도록 만든 ‘룰북’ 같은 거야.

복잡한 SQL을 직접 쓰지 않고도,
자바 코드로 데이터를 저장하고, 조회하고, 수정할 수 있어.
마치 자바 객체를 다루듯이 말이야.

그리고 JPA는 데이터베이스 종류에 따라 다르게 처리해주는 로직도 갖고 있어서,
MySQL이든 Oracle이든, DB가 바뀌어도 코드 수정을 최소화할 수 있어!


😮 그런데… JPA를 설명할 때 꼭 나오는 게 하나 있어.

바로 ORM이라는 단어야.

왜냐하면 JPA가 ORM 기반으로 동작하기 때문이지!


⚙️ ORM이란?

(여기선 간단하게만 다룰게. 나중에 더 자세히!)

ORM(Object-Relational Mapping)은
객체를 데이터베이스 테이블에 자동으로 매핑해주는 기술이야.

예를 들어 자바 클래스 User를 만들면,
그걸 알아서 user라는 테이블처럼 사용하게 도와주는 거지!


😧 아니 그럼… JPA 말고 ORM 쓰면 되는 거 아니야?

처음엔 나도 그렇게 생각 했었어.

그런데! 중요한 차이가 있더라구.

🧠 ORM은 "이렇게 동작하면 좋겠다"는 개념
🧰 JPA는 "자바에서는 이렇게 쓰자"는 공식 표준 API

그리고! 이 모든 것을 통합하여서 만든 라이브러리가 Hibernate(이)야


🧩 총정리!

  • ORM: 개념 (객체와 데이터베이스를 연결하는 방식)

  • JPA: 자바에서 ORM을 사용할 수 있도록 정리된 표준 API

  • Hibernate: JPA 표준을 실제로 구현한 라이브러리

PARD_CLUB 그룹의 글
5

댓글

로그인 후 댓글을 남길 수 있습니다.

김나임
김나임

정리 좋은데요?! 👍✨

한규태
한규태

감사합니다! 다음엔 더 좋고 풍부한 내용으로 돌아오겠습니다!