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()