[JPA 프로그래밍 입문]
머리말
- JPA = Java Persistene API, JPA는 자바 ORM spec 이다. (즉, JPA는 스펙일 뿐 구현을 제공하지 않음)
- JPA 사용 시 가장 많이 사용되는 구현체가 하이버네이트이다.
- ORM (Object-Relational Mapping) : 자바 객체와 DB 테이블 간의 매핑을 처리
- ORM 사용 이점
- 개발 비용 감소 : 작성해야할 SQL이 대폭 줄어듦
- 도메인 중심 모델 설계 시 편리성 : JPA는 밸류 타입이나 상속에 대한 매핑도 지원함
PART 1. 기초
Chapter 1. 들어가며
2.2 JPA의 특징
- 자바 객체와 DB 테이블 사이의 매핑 설정을 사용해서 자동으로 SQL을 만들어줌
- 예시) 테이블에 컬럼이 추가 된 경우
- SQL을 사용했다면… : SQL에 추가된 컬럼을 일일이 추가해줘야 함
- JPA를 사용했다면… : 매핑 설정만 추가하면 끝!
- 즉, 상대적으로 유지보수에 유리함
- 예시) 테이블에 컬럼이 추가 된 경우
- 객체를 위한 기능 지원
- 테이블 컬럼 간의 ‘참조 관계’를 객체 간의 ‘연관’으로 매핑하는 기능 제공
- 밸류 타입을 위한 매핑 지원
- 클래스 상속에 대한 매핑 지원
- 즉, 객체 모델 중심으로 사고하는데 도움을 줌
- 성능 향상을 위한 기법 제공
- 즉시 로딩 / 지연 로딩 등을 통해 SQL 직접 사용하는 것과 유사한 성능을 얻을 수 있음
- (주의) JPA가 항상 정답은 아님
- DBMS 특화된 기능은 SQL 사용하는게 나음
- 통계, 집계, 배치 같은 것들은 SQL 사용하는 것이 유리함
영속 컨텍스트와 영속 객체 개요
- Entity : @Entitiy 어노테이션을 붙인 클래스, DB에 보관하는 대상이 됨
- 영속 컨텍스트 : JPA는 Entitiy를 영속 컨텍스트(persistence context)로 관리함. 영속 컨텍스트는 JPA가 관리하는 엔티티 객체 집합임
- 영속 컨텍스트는 응용 프로그램과 DB 사이에 중간 다리 역할을 함
- 영속 컨텍스트는 세션 (JPA의 Entitiy Manager) 단위로 생김
// TODO : jyjang - TBD
댓글남기기