728x90
Hibernate란?
Hibernate는 자바 언어를 위한 ORM 프레임워크예요. JPA의 구현체로, JPA 인터페이스를 구현하며,
내부적으로 JDBC API를 사용해요.
JPA는 관계형 데이터베이스와 객체의 패러다임 불일치 문제를 해결할 수 있다는 점과 영속성 컨텍스트
(엔티티를 영구 저장하는 환경) 제공이 큰 특징입니다.
Hibernate 장점
생산성이 높아진다.
- Hibernate는 SQL을 직접 사용하지 않고, 메서드 호출만으로 쿼리가 수행됨. 즉, SQL 반복 작업을 하지 않음으로 생산성이 높아짐
- SQL을 몰라도 되는 건 아님 (내부 동작에 대해 알아야 하기 때문)
유지보수 측면에서 좋다.
- 테이블 컬럼이 변경되었을 때, 테이블과 관련된 DAO의 파라미터, 결과, SQL 등을 대신 수행함.
이로 인해 유지보수 측면에서 높아짐
패러다임 불일치 해결
- 상속, 연관 관계, 객체 그래프 탐색, 비교 등 객체와 관계형 데이터베이스와의 패러다임 불일치를 해결할 수 있음
비즈니스 책임 위임
- SQL에 의존적이지 않은 개발 가능
- SQL중심이 아닌 객체 중심 개발 가능
Hibernate 단점
성능
- 메서드 호출만으로 쿼리를 수행하는 것은 직접 SQL을 작성하는 것보다는 성능상 좋지 않아요
세밀함
- 메서드 호출만으로 DB 데이터를 조작하기에는 한계가 있어요. 이를 보완하기 위해 JPQL을 지원해요
- NativeQuery를 지원하여 SQL 자체 쿼리도 작성할 수 있어요
'Spring' 카테고리의 다른 글
[Spring] Bean 추가 설명 (0) | 2022.02.06 |
---|---|
[Spring] JPA, Hibernate 설명 (0) | 2022.02.04 |
[Spring] Spring MVC 설명 (0) | 2022.02.01 |
[Spring] 빈 (Bean) 설명 (0) | 2022.01.31 |
[Spring] Spring Core 설명 (0) | 2022.01.30 |