- JPA란 ?
Java Persistence API
JAVA ORM 기술에 대한 api 표준 명세를 말한다.
- 장점
- 1차캐시, 쓰기지연, 변경감지, 지연로딩을 제공하여 성능상 이점을 얻을 수 있다.
- 코드 레벨로 관리 되므로 사용하기 용이하고 생산성이 높다.
- 컴파일 타임에 오류를 확인할 수 있다.
- 데이터베이스에 종속적이지 않으므로 특정 쿼리를 사용하지 않아 추상적으로 기술 구현이 가능하다.
- 엔티티로 관리되므로 스키마 변경시 엔티티만 수정하게 되면 엔티티를 사용하는 관련 쿼리는 자동으로 변경된 내역이 반영된다.
- 개발 초기에는 쿼리에 대한 이해가 부족해도 코드 레벨로 어느 정도 커버가 가능하다.
- 객체지향적으로 데이터를 관리할 수 있다.
- 부족한 부분은 다양한 쿼리 빌더와 호환하여 보안할 수 있다.
- 엔티티 매핑
객체와 테이블 매핑 : @Entity
, @Table
기본 키 매핑 : @Id
필드와 컬럼 매핑 : @Column
연관관계 매핑 : @ManyToOne
, @JoinColumn