JPA
ORM이란?
- Object-Relational Mapping의 줄임말로 어플리케이션 Class와 RDB의 테이블을 매핑하는 것
- 애플리케이션 객체를 RDB 테이블에 자동 영속화 하는 것
장점
- SQL문 대신 Method 형태로 DB 조작을 하여, 개발자는 비즈니스 로직 구성 집중
- Query와 같은 부수적인 코드가 줄어 가독성 높임
- 객체지향적인 코드 작성
- ERD 의존도를 낮추고 유지보수 및 리팩토링 유리
단점
- 설계가 잘못된 경우 속도 저하 및 일관성이 무너질 가능성 존재
- Query의 복잡도가 올라가는 경우 별도 튜닝이 필요하여 SQL문 사용하는 경우 발생
- 학습 비용이 비쌈
JPA란?
- Java 진영의 ORM 기술 표준으로 사용하는 인터페이스의 모음
- 기존 EJB에서 제공하는 Entity Bean을 대체하는 기술이며, EJB, 웹 모듈, Java SE 클라이언트에서 사용가능
- 구현체로는
Hibernate
, Spring JPA
, EclipseLink
등