진취적 삶
JPA 와 Hibernate 본문
JPA
JAVA 진영에서 ORM 기술 표준으로 사용하는 인터페이스 모음
ORM : object releational mapping 으로 객체가 테이블이 되도록 매핑을 시켜주는것이다.
ORM을 이용하면 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터를 조작할수 있다.
Hibernate
hibernate : 자바 언어를 위한 ORM 프레임워크 JPA의 구현체로 JPA 인터페이스를 구현하며, 내부적으로 JDBC API를 사용한다.
장점
생산성
- hibernate 는 SQL 을 직접 사용하지 않고, 메서드 호출만으로 쿼리가 수행됨
- 반복적인 CRUD 에 대해서 생산성이 향상된다.
유지보수
- 테이블 컬럼이 변경되었을 때 , 테이블과 관련되 DAO의 파라미터, 결과 SQL 등을 대신 수행해준다.
패러다임 불일치 해결
- 상속 , 연관 관계 ,객체 그래프 탐색등 객체와 관계형 DB와의 패러다임 불일치를 해결할수 있다.
단점
성능
- 메서드 호출만으로 쿼리를 수행하는 것은 직접 SQL 을 작성하는 것보다는 성능이 좋지 않다.
- 복잡한 통계 분석 쿼리를 메서드 호출로 처리하는 것은 힘든 일이다 그래서 JPQL을 사용한다.
'개발' 카테고리의 다른 글
QueryDSL (0) | 2024.02.28 |
---|---|
JPA 단점과 JPQL (0) | 2024.02.28 |
docker 기반 nginx 를 이용한 로드 밸런싱 (1) | 2024.01.24 |
docker를 이용한 3tier 구축하기 nginx ,tomcat,db (1) | 2024.01.18 |