Notice
Recent Posts
Link
Recent Comments
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

지니의 개발로그

Hibernate이란? 본문

내일배움캠프

Hibernate이란?

지니♥︎ 2024. 6. 14. 20:58

🚩 20240614 TIL

 

🟢 Hibernate

 

Hibernate는 Java 객체와 데이터베이스 테이블 간의 매핑을 처리하는 ORM(Object-Relational Mapping) 프레임워크이다.

 

개발자는 SQL 쿼리를 직접 작성하지 않고도 데이터베이스와 상호작용할 수 있다.

 

  • 객체와 테이블 매핑:
    • Hibernate는 Java 클래스와 데이터베이스 테이블 간의 매핑을 설정하여 객체지향 프로그래밍을 지원
    • 예를 들어, Java 클래스의 필드와 데이터베이스 테이블의 컬럼이 매핑
  • 자동화된 CRUD 작업:
    • Hibernate는 기본적인 CRUD(Create, Read, Update, Delete) 작업을 자동으로 처리
    • 이를 통해 개발자는 데이터베이스와의 상호작용을 더 쉽게 관리 가능
  • HQL (Hibernate Query Language):
    • Hibernate는 HQL이라는 자체 쿼리 언어를 제공
    • HQL은 SQL과 유사하지만, 객체 지향적 개념을 포함하여 더 직관적
  • 캐싱:
    • Hibernate는 1차 캐시와 2차 캐시를 지원하여 성능을 최적화
    • 1차 캐시는 세션 수준에서, 2차 캐시는 세션 팩토리 수준에서 작동
  • 지연 로딩:
    • Hibernate는 지연 로딩(Lazy Loading)을 지원
    • 필요할 때만 데이터를 로드함으로써 성능을 개선
  • 트랜잭션 관리:
    • Hibernate는 트랜잭션 관리 기능을 제공
    • 데이터베이스 작업의 원자성을 보장
  • 관계 매핑:
    • Hibernate는 다양한 관계 매핑을 지원
    • 예를 들어, 일대일, 일대다, 다대다 관계 설정 가능