🧩 Hibernate

정의

Hibernate는 JPA를 구현하는 ORM 프레임워크이다. 내부적으로 JDBC를 사용해 자바 객체와 데이터베이스를 연결하고, 영속성 컨텍스트와 변경 감지 같은 기능을 제공한다.

자바 객체와 관계형 데이터베이스 사이의 패러다임 불일치를 줄이는 데 유용하다.

🧩 역할

  • JPA 구현체로 동작한다
  • 객체와 테이블의 매핑을 처리한다
  • 영속성 컨텍스트와 변경 감지를 제공한다
  • HQL, Hibernate 전용 애너테이션을 지원한다
  • JDBC를 직접 다루는 부담을 줄인다

🛠 특징

  • 객체 중심으로 데이터를 다룰 수 있다
  • CRUD 코드가 단순해진다
  • 트랜잭션과 영속성 관리가 쉬워진다
  • JPA 표준을 넘어서는 Hibernate 전용 기능도 사용할 수 있다

⚠️ 장점과 단점

장점

  • 패러다임 불일치 문제를 줄인다
  • 영속성 컨텍스트와 변경 감지를 제공한다
  • SQL 작성량을 줄일 수 있다
  • 복잡한 매핑을 객체 중심으로 다룰 수 있다

단점

  • 직접 SQL보다 동작을 이해하기 어려울 수 있다
  • JPA 표준 외 기능은 Hibernate에 종속된다
  • 잘못 사용하면 예상하지 못한 쿼리가 발생할 수 있다

🧩 함께 보는 개념

  • JPA
  • EntityManager
  • 영속성(Persistence) Context
  • HQL
  • @Immutable
  • @Subselect
  • @Synchronize

📌 정리

  • Hibernate는 JPA의 대표적인 구현체다.
  • 객체와 테이블 사이의 매핑과 영속성 관리를 담당한다.
  • Hibernate 전용 기능은 편리하지만 종속성도 함께 고려해야 한다.

연결문서

댓글남기기