하이버네이트 2

[Spring/JPA] JPA 소개

※ 본 글은 저자 김영한 개발자의 "자바 ORM 표준 JPA 프로그래밍"의 내용을 요약하였습니다. ※ 과거 엔터프라이즈 자바 빈즈(이하 EJB)라는 기술 표준이 있었는 데, 그 안에도 엔티티 빈이라는 ORM 기술이 있었다. 하지만, 너무 복잡하고 J2EE 애플리케이션 서버에서만 동작하였기에 오픈소스 ORM 프레임워크, Hibernate(하이버네이트)가 등장하였다. 하이버네이트는 EJB의 ORM에 비해 가볍고, 기술 성숙도가 높으며, J2EE 애플리케이션 서버없이도 동작하였기에 결국, EJB 3.0에서 하이버네이트를 기반으로 새로운 자바 ORM 기술 표준을 만들었는 데, 바로 JPA이다. JPA를 사용하는 이유는 다음과 같으며, 이유의 9할은 JPA의 등장배경과 관련이 깊다. 생산성: JCP(자바 컬렉션 ..

Spring/JPA 2022.05.25

[Spring] Hibernate 설명

Hibernate란? Hibernate는 자바 언어를 위한 ORM 프레임워크예요. JPA의 구현체로, JPA 인터페이스를 구현하며, 내부적으로 JDBC API를 사용해요. JPA는 관계형 데이터베이스와 객체의 패러다임 불일치 문제를 해결할 수 있다는 점과 영속성 컨텍스트 (엔티티를 영구 저장하는 환경) 제공이 큰 특징입니다. Hibernate 장점 생산성이 높아진다. Hibernate는 SQL을 직접 사용하지 않고, 메서드 호출만으로 쿼리가 수행됨. 즉, SQL 반복 작업을 하지 않음으로 생산성이 높아짐 SQL을 몰라도 되는 건 아님 (내부 동작에 대해 알아야 하기 때문) 유지보수 측면에서 좋다. 테이블 컬럼이 변경되었을 때, 테이블과 관련된 DAO의 파라미터, 결과, SQL 등을 대신 수행함. 이로 인..

Spring 2022.02.03