✅ JPA (Java Persistence API)자바에서 ORM을 처리해주는 표준 API관계형 데이터베이스의 데이터와 java 객체를 mapping 하는 기술로 JDBC기반으로 구현✅ JPA 기능DB 설계 기반이 아닌, JAVA 클래스 설계를 기반으로 DB를 연동하
✅ 영속성 컨텍스트 : 자바에 등록된 엔티티를 영구 저장하는 환경 엔티티매니저 팩토리 는 하나만 생성해서 애플리케이션 전체에서 공유 고객의 요청이 들어올때마다 엔티티매니저를 생성함 엔티티매니저 를 생성시 한개의 영속성 컨텍스트 가 생성 ( 1 : 1 ) 엔티티매니저
✅ @Entity : DB의 특정테이블과 연결되는 JAVA의 객체로 JPA가 관리하는 엔티티를 의미한다JPA를 사용해서 테이블과 매핑할 클래스는 반드시 @Entity 를 사용해야함@Entity 를 사용하려면 기본 생성자가 필수로 존재해야함선언부에 @Entity 어노테이
✅ 상속관계 매핑 DB 즉 관계형 데이터베이스는 상속 관계라는 것이 없음 슈퍼타입 서브타입의 관계 가 자바의 객체 상속이라 비슷함 왼쪽 그림은 자바의 상속 상태를 나타내며 오른쪽 그림에서 Item은 슈퍼타입 Album, Movie, Book 은 서브타입을 의미
✅ 연관관계 매핑시 고려사항 3가지 다중성 단방향, 양방향 양방향일경우 연관관계의 주인 ✅ 다중성 다대일 : @ManyToOne 다대일 관계에서는 다 인 부분에 외래키를 설정한다 다음 그림은 회원과 팀간의 단방향 관계를 맺는 그림이다 하나의 멤버는 하나의 팀에 속한