Hibernate 0 - JBDC, JPA, Hibernate란?

yc999·2020년 11월 8일
0

java

목록 보기
2/6

Prerequisite : ORM (Object-Relational Mapping) 이란?

JDBC (Java DB Connectivity) 란?

JDBC는 자바에서 DB 프로그래밍을 하기 위한 API 이다. 많은 부분이 interface 정의로 이루어져 있으며 (Refs 6) 이 interface 들을 구현한 것이 JDBC DB driver이다. JDBC DB driver는 database vendor들에 의해 구현, 제공된다(Refs 3, 4). JDBC를 사용함으로써 자바 개발자들은 서로 다른 DB를 사용하더라도, 같은 API를 사용해 구현하는 것이 가능하다 (사용하는 SQL 디테일은 다를 수 있다).

JPA (Java Persistence API)란?

ORM 기술을 자바에서 사용하기 위한 인터페이스 집합. JPA를 구현한 구현체로는 Hibernate, EclipseLink, DataNucleus 와 같은 것들이 있다.

Hibernate 란?

JPA 구현체로, JPA 인터페이스를 구현하며, 내부적으로 JDBC API를 사용한다.

Summary

  • JDBC는 DB access를 위한 표준이다.
  • JPA는 ORM을 위한 표준이다.
  • Hibernate는 JPA 구현체이며 JDBC를 사용하여 DB에 접근한다.

Refs

  1. https://en.wikipedia.org/wiki/Java_Database_Connectivity
  2. https://en.wikipedia.org/wiki/JDBC_driver
  3. https://stackoverflow.com/questions/10338115/jdbc-implementation-of-interfaces
  4. https://www.oracle.com/java/technologies/industry-support.html
  5. https://www.progress.com/faqs/datadirect-jdbc-faqs/how-does-jdbc-work
  6. https://docs.oracle.com/en/java/javase/11/docs/api/java.sql/java/sql/package-summary.html
  7. https://tytie.com/what-is-jdbc-introduction-to-the-java-database-connectivity-api/
  8. [JPA] JPA란 : https://gmlwjd9405.github.io/2019/08/04/what-is-jpa.html
  9. https://stackoverflow.com/questions/11881548/jpa-or-jdbc-how-are-they-different
profile
꼬물꼬물 앞으로 가는 중

0개의 댓글