JPA 특징
- 데이터를 객체지향적으로 관리할 수 있기 때문에 개발자는 비즈니스 로직에 집중할 수 있고 객체지향 개발이 가능하다.
- 자바 객체와 DB 테이블 사이의 매핑 설정을 통해 SQL을 생성한다.
- 객체를 통해 쿼리를 작성할 수 있는 JPQL(Java Persistence Query Language)를 지원
- JPA는 성능 향상을 위해 지연 로딩이나 즉시 로딩과 같은 몇가지 기법을 제공하는데 이것을 잘 활용하면 SQL을 직접 사용하는 것과 유사한 성능을 얻을 수 있다.
JPA를 왜 사용해야 할까
- sql 중심적인 개발에서 객체 중심적인 개발이 가능하다.
sql 코드의 반복, 객체지향과 관계지향 데이터베이스의 페러다임 불일치
Object -> [SQL 변환] -> RDB에 저장
[개발자 == SQL 매퍼] 라고 할만큼 SQL 작업을 너무 많이 하고 있다. - 생산성이 증가
간단한 메소드로 CRUD가 가능하다 - 유지보수가 쉽다
기존: 필드 변경 시 모든 SQL을 수정해야 한다.
JPA: 필드만 추가하면 된다. SQL은 JPA가 처리하기 때문에 손댈 것이 없다. - Object와 RDB 간의 패러다임 불일치 해결
JPA 하이버네이트
하이버네이트는 JPA 구현체의 한 종류이다.
JPA는 DB와 자바 객체를 매핑하기 위한 인터페이스(API)를 제공하고 JPA 구현체(하이버네이트)는 이 인터페이스를 구현한 것이다.
하이버네이트 외에도 EclipseLink, DataNucleus, OpenJPA, TopLink Essentials 등이 있다.
LIST
'4차산업혁명의 일꾼 > 웹개발' 카테고리의 다른 글
스파르타코딩 1주차 웹개발일지 (0) | 2021.08.16 |
---|---|
스프링툴에 톰캣앤진 구동시 일어나는 일 (0) | 2020.12.27 |
비전공자를 위한 이해할 수 있는 IT지식 (0) | 2020.11.18 |
네트워크 7계층 (0) | 2020.11.13 |
스프링AOP (0) | 2020.11.13 |