본문 바로가기
스프링 부트/JPA

[스프링] Hibernate란

by illlilillil 2022. 10. 8.

Hibernate란?


Hibernate는 ORM 프레임워크 중의 하나이다. JPA 인터페이스의 구현체이며, JDBC API를 사용해 DB와 통신한다.

JPA란?
자바에서 RDBMS를 사용하는 방식을 정의한 인터페이스이다. 구현체로는 Hibernate가 있다.
JDBC란?
JPA와 DB를 연결해주는 표준이다. RDBMS는 JDBC 인터페이스를 구현해 제공된다. JDBC 드라이버라고 부른다.
프로그래머는 어떤 종류의 RDBMS를 사용하더라도 똑같은 개발 방법으로 구현하면 된다는 장점이 있다.

 

JPA의 장점

1. SQL 반복 작업을 하지 않아도 되기에 생산성이 올라간다.

2. 인터페이스가 제공되기 때문에 특정 벤더에 종속되지 않는다.

3. 객체와 RDBMS의 패러다임 불일치 문제를 해결해준다.

 

JPA의 단점

1. SQL 직접 작성보다는 성능이 떨어진다.

2. 상세한 쿼리는 작성하기 어렵다. -> nativeQuery 또는 queryDSL을 통해 보완

댓글