JPA (Java Persistence API): 자바 ORM(Object-Relational Mapping) 표준 명세로, 자바 애플리케이션과 관계형 데이터베이스 간의 객체를 관계로 매핑해주는 프레임워크입니다.
엔터티: 데이터베이스의 테이블을 자바 클래스로 표현한 것.
로딩 방식의 종류
바로 로딩 (Eager Loading): 연관된 엔터티를 즉시 로딩합니다. 조회하는 엔터티와 연관된 엔터티를 함께 조회합니다.
지연 로딩 (Lazy Loading): 연관된 엔터티를 실제로 사용할 때 로딩합니다.
지연 로딩은 실제로 해당 연관 엔터티를 사용할 때까지 로딩을 연기합니다. 처음 엔터티를 조회할 때는 프록시 객체를 로딩하며, 실제 연관 엔터티의 데이터가 필요한 시점에서 데이터베이스에 쿼리를 보내 해당 데이터를 로드합니다.
JPA는 같은 트랜잭션일 때 같은 객체가 조회되는 것을 보장한다.
JPA는 패러다임의 불일치 문제를 해결해주고 정교한 객체 모델링을 유지하게 도와준다.