
(JPA는 애플리케이션과 JDBC 사이에서 동작)자바 ORM 기술에 대한 표준 명세로, JAVA 에서 제공하는 API이다.ORM으로 자바 클래스와 DB테이블을 매핑한다.ORM은 객체와 관계형 데이터베이스를 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결⇒ 즉, OR

영속성 컨텍스트 전에 JPA의 Entity Manager Factory, Entity Manager, Entity를 소개하면 아래와 같다.이름 그대로 엔티티 매니저를 만드는 공장으로 만드는데 커넥션 풀도 함께 생성하므로 비용이 상당히 크다 ⇒ 따라서 한 개만 만들어서

방향 - 단방향 / 양방향다중성 - 다대일, 일대다, 일대일, 다대다연관관계 주인 : 객체 양방향 연관관계는 관리주인이 필요하다.Member.team 필드: 회원 객체는 Member.team 필드를 통해 팀 객체와 연관관계를 맺는다.단방향 관계: 회원은 member.g

printUser() 메소드는 회원 엔티티만 출력하는 데 사용하고 회원과 연관된 팀 엔티티는 전혀 사용하지 않는다. 그래서 연관된 팀 엔티티까지 데이터베이스에서 함께 조회해 두는 것은 효율적이지 않다.⇒ 그래서 JPA는 엔티티가 실제 사용될 때까지 조회를 지연하는 방법
N+1 문제: 처음 실행한 SQL의 결과 수(N)만큼 추가로 SQL을 실행해야 하는 문제.예: 회원을 조회할 때 각 회원의 주문 정보를 함께 조회하려고 추가 SQL 실행.회원과 주문 엔티티:즉시 로딩과 N+1 문제:특정 회원을 조회할 때:SQL:여러 회원을 JPQL로
@Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라 부른다.적용 시 주의 사항기본 생성자는 필수final, enum, interface, inner 클래스에는 사용할 수 없다.저장할 필드에 final을 사용하면 안 된다.엔티티와 매핑할 데이터베이스 테이블