지니의 개발로그
Hibernate이란? 본문
🚩 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는 다양한 관계 매핑을 지원
- 예를 들어, 일대일, 일대다, 다대다 관계 설정 가능
'내일배움캠프' 카테고리의 다른 글
| JDBC란 (0) | 2024.06.18 |
|---|---|
| ORM(Object-Relational Mapping) 프레임워크란? (0) | 2024.06.18 |
| 메모리 영역의 분류 (1) | 2024.06.14 |
| Java에서 배열의 주소값은 어떻게 할당될까? (0) | 2024.06.13 |
| 뉴스피드 팀과제 KPT회고 (0) | 2024.06.12 |