JPA란
<aside>
설명
- JAVA 진영에서 ORM 기술 표준으로 사용하는 인터페이스 모음
- 자바 애플리케이션에서 관계형 DB를 사용하는 방식을 정의한 인터페이스
- Hibernate, OpenJPA 등이 JPA를 구현
</aside>
장점
<aside>
설명
- DB 연관관계

- DB에서는 객체의 상속관계를 지원하지 않음, JPA는 해당 관계를 가능하도록 해줌
- 생산성 향상
@Entity
public class User {
//어노테이션 사용
@Id @GeneratedValue
private Long id;
private String name;
}
- SQL을 직접 작성할 필요 없이, 객체 중심으로 DB 조작 가능
- 객체 연관 관계 매핑 가능
- 객체 간 관계로 JOIN을 쉽게 처리 가능
- OneToMany
- ManyToOne
- OnetoOne
- ManyToMany
@OneToMany(mappedBy = "user")
private List<Order> orders; // User와 Order 관계를 객체 지향적으로 표현 가능
</aside>