1. 개요
1-1) Hibernate 란?
Object Relation Mapping(ORM - 객체 관계 매핑) Framework 중 하나.
객제지향 프로그래밍과 관계형 데이터베이스의 차이로 인해 발생하는 제약사항을 해결하는 해결책으로 봄.
-. 어떤 제약 사항? : 데이터베이스는 데이터들의 집합 개념을 기반으로 하기 때문에 객체지행 개발방식과 근본적으로 다른점이 있어
객체 간 관계를 데이터베이스에 그대로 저장하기 어려운 문제가 있음.
1-2) ORM (Object Relation Mapping)
-. "Java 어플리케이션 내의 객체들을 RDB에 있는 테이블로의 자동화된 영속화" 로 정의
-. "예전부터 사용해오던 ResultSet 객체를 사용 목적에 맞는 형태의 객체로 변환하는 작업" 으로 쉽게 표현할 수 있음.
=> 가상의 Object DB를 효과적으로 만들어 RDB를 OOP 언어의 개념(객체)으로 연계(매핑)하는 프로그램 기술
!! Hibernate가 이런 ORM을 해주는 툴 중에 하나라고 할 수 있음!!
* 예시)
Hibernate를 사용하면 아래와 같이 코드가 심플해짐.
Session s = sessionFactory.openSession(); //Session 객체 만들기
Transaction tx = s.beginTransaction(); //트랜젝션 시작
s.save(product)
tx.commit();
s.close()