Hibernate
🧩 Hibernate
정의
Hibernate는 JPA를 구현하는 ORM 프레임워크이다. 내부적으로 JDBC를 사용해 자바 객체와 데이터베이스를 연결하고, 영속성 컨텍스트와 변경 감지 같은 기능을 제공한다.
자바 객체와 관계형 데이터베이스 사이의 패러다임 불일치를 줄이는 데 유용하다.
🧩 역할
- JPA 구현체로 동작한다
- 객체와 테이블의 매핑을 처리한다
- 영속성 컨텍스트와 변경 감지를 제공한다
- HQL, Hibernate 전용 애너테이션을 지원한다
- JDBC를 직접 다루는 부담을 줄인다
🛠 특징
- 객체 중심으로 데이터를 다룰 수 있다
- CRUD 코드가 단순해진다
- 트랜잭션과 영속성 관리가 쉬워진다
- JPA 표준을 넘어서는 Hibernate 전용 기능도 사용할 수 있다
⚠️ 장점과 단점
장점
- 패러다임 불일치 문제를 줄인다
- 영속성 컨텍스트와 변경 감지를 제공한다
- SQL 작성량을 줄일 수 있다
- 복잡한 매핑을 객체 중심으로 다룰 수 있다
단점
- 직접 SQL보다 동작을 이해하기 어려울 수 있다
- JPA 표준 외 기능은 Hibernate에 종속된다
- 잘못 사용하면 예상하지 못한 쿼리가 발생할 수 있다
🧩 함께 보는 개념
JPAEntityManager영속성(Persistence) ContextHQL@Immutable@Subselect@Synchronize
📌 정리
- Hibernate는 JPA의 대표적인 구현체다.
- 객체와 테이블 사이의 매핑과 영속성 관리를 담당한다.
- Hibernate 전용 기능은 편리하지만 종속성도 함께 고려해야 한다.
댓글남기기