[Spring]JDBC, Hibernate, JPA, Spring Data JPA 차이

HW·2023년 5월 17일
0

Java

목록 보기
3/7
post-thumbnail

서론

이번에는 JDBC, Hibernate, JPA, 그리고 Spring Data JPA에 대해
알아보고자 합니다.
데이터베이스를 다루기 위한 기술들인데,
각각의 역할과 특징을 살펴보도록 하겠습니다.

본론

JDBC (Java Database Connectivity)

JDBC는 Java Database Connectivity의 약자로,
Java 언어를 사용하여 데이터베이스와 통신하기 위한 API입니다.
JDBC를 사용하면 데이터베이스 종류에 상관없이
동일한 코드로 데이터베이스에 접근할 수 있습니다.
JDBC는 인터페이스로 제공되며,
각 데이터베이스에 맞는 드라이버를 사용하여 데이터베이스에 접속합니다.

Hibernate

Hibernate는 ORM(Object Relational Mapping) 프레임워크이며,
관계형 데이터베이스와 객체를 매핑하는 역할을 합니다.
객체와 관계형 데이터베이스 간의 불일치를 해결하기 위한 패러다임을 제공합니다. Hibernate는 JPA(Java Persistence API)의 구현체 중 하나로 널리 사용되며,
데이터베이스와의 통신에는 JDBC를 내부적으로 활용합니다.

JPA (Java Persistence API)

JPA는 Java 진영에서 ORM 기술을 표준화하기 위해 제공되는 API입니다.
JPA는 데이터베이스와 객체 간의 매핑을 담당하며,
객체 지향적인 방식으로 데이터베이스를 다룰 수 있도록 도와줍니다.
JPA는 인터페이스로 정의되어 있으며,
구현체로는 Hibernate를 비롯한 여러 옵션이 있습니다.

Spring Data JPA

Spring Data JPA는 Spring 프레임워크에서
JPA를 편리하게 사용할 수 있도록 지원하는 모듈입니다.
Spring Data JPA는 Repository 기반으로 작성되어 있어
개발자가 간편하고 효율적으로 JPA를 사용할 수 있습니다.
Repository의 메소드를 통해 쿼리를 생성하며,
메소드 이름을 기반으로 자동으로 쿼리를 생성하는 컨벤션을 제공합니다.
필요에 따라 직접 쿼리를 작성하고 싶은 경우
@Query 어노테이션을 사용하여 JPQL 또는 일반 쿼리를 작성할 수 있습니다.
쿼리 컨벤션

결론

JDBC는 데이터베이스와 통신하기 위한 API입니다.
Hibernate 는 JPA의 구현체 중 하나이며 ORM 프레임워크 입니다.
JPA는 데이터베이스와 객체를 매핑하는 기술입니다.
Spring Data JPA는 JPA를 Repository 기반으로 간편하고 효율적으로 사용할 수 있는 모듈입니다.

Spring Data JPA는 JPA를 사용하며, JPA는 내부적으로 JDBC를 사용합니다.

profile
예술융합형 개발자🎥

0개의 댓글