2018의 게시물 표시

하이버네이트에 대하여

이미지
hibernate Hibernate Framework 하이버네이트는 데이터베이스와 상호작용하기위한 자바 어플리케이션 개발자툴이다. 오픈소스이며 가볍고 , ORM(Object Relational Mapping) tool 이다. 하이버네이트는 데이터지속성을 위해 JPA(Java Persistence API)의 기준을 구현한다. ORM Tool ORM 툴은 데이터 생성 , 조작 , 접근 등을 간단하게 해준다. 객체를 데이터베이스에 저장된 데이터에 매핑하는 프로그래밍 기술이다. Java Application -> Object -> ORM -> Database ORM은 내부적으로 데이터베이스와 상호작용 하기 위해 JDBC API를 사용한다. JPA 이란? Java Persistence API(JPA)는 특정한 기능성과 ORM 툴의 표준을 제공해주는 자바 명세서이다. javax.persistence 패키지는 JPA 클래스들과 인터페이스들을 갖고있다.   하이버네이트의 장점 오픈소스이며 가볍다. 하이버네이트는 LGPL 라이센스 안에서 오픈소스이며 가볍다. 빠른 속도 하이버네이트안에 내부적으로 캐시를 사용하기 때문에 빠른 속도를 가지고 있다. first level cache 와 second level cache 두가지 타입의 캐시를 가지고 있다. fisrt level cache 는 디폴트다. 독립적인 데이터베이스 쿼리 HQL(Hibernate Query Language)는 SQL의 객체지향 버전 이다. 데이터베이스의 독립적인 쿼리를 생성해주기 때문에 다른 데이터베이스에 쓰는 특정한 쿼리문을 쓰지 않아도 된다. 만약 프로젝트에서쓰는 데이터베이스가 바뀌면 SQL 쿼리를 바꿔줘야하는 경우가 생기는 경우가 있는데 하이버네이트는 그러지않아도 되서 유지보수에 많은 이점이 있다. 테이블 자동 생성 데이터베이스의 테이블을 생성해주는 기능을 제공해준다. 그래서 데이터베이스를 만들 필요가 없다. 복잡한 Join의 간단함 여러개의 테이블에서 데이터를 뽑아오는