Java Persistence API의 약어로, Java에서 객체와 관계형 데이터베이스 간의 데이터를 지속적으로 저장하고 검색하기 위한 API입니다.Java 언어 기반의 ORM(Object-Relational Mapping) 기술로, 객체와 데이터베이스 간의 매핑을 쉽
자바 11maven projectH2 DatabaseGit : 바로가기persistance.xml 설정 (persistance.xml 파일 알아보기)
객체와 관계형 DB매핑하기영속성 컨텍스트 - 실제 JPA가 실행되는 원리그림과 같이 사용자의 요청이 들어오게되면 매니저 팩토리에서 사용하기 위한 엔티티 매니저를 생성하여 사용합니다.엔티티매니저를 생성하게되면, 영속성 컨텍스트가 생성됩니다.엔티티는 위와같은 상태가 존재하
@Entity가 붙은 클래스는 JPA가 관리, 엔티티라고 합니다.JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수기본 생성자 필수final 클래스, enum, interface, inner 클래스 사용하지 못한다.DDL을 애플리케이션 실행 시점에 자동 생성
객체와 테이블 연관관계 차이를 이해객체의 참조와 테이블의 외래키를 매핑• 방향(Direction): 단방향, 양방향• 다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 이해• 연관관계의 주인(Owner): 객체 양방
연관관계 매핑시 고려사항 3가지 다중성 [N:1, 1:N, 1:1, N:M] 단방향, 양방향 테이블 : 외래키 하나로 양쪽 조인이 가능, 사실 방향이라는 개념이 없음 객체 : 참조용 필드가 있는 쪽으로만 참조가 가능 연관관계의 주인 테이블은 외래
관계형 데이터베이스는 상속 관계는 없지만 관계형 DB에서 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사합니다.객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑할수있습니다.슈퍼타입 서비타입 논리 모델을 실제 물리모델로 구현하는 방법은 아래와 같은 방
프록시 em.find한번으로 member와 team객체를 동시에 가져오고 싶은경우 아래처럼 사용할 수 있습니다. 당연히 아래처럼 연관관계 매핑이 되어있어야하죠. 그런데, 만약 Member만 쓰고싶어하는경우에도 em.find(Member.class, member.g
기본값 타입 JPA의 데이터 타입 분류 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 예) 회원 엔티티의 키나 나이값을 변경해도 식별자로 추적&인식 가능 값 타입 int, Integer, Strin
소개 가장 단순한 조회 방법은 EntityManager.find() 이였습니다. 만약, 나이가 18살 이상인 회원을 모두 검색하고 싶다면? JPQL JPA를 사용하면 엔티티 객체를 중심으로 개발되며, 문제는 검색 쿼리입니다. 검색을 할 때도 테이블이 아닌 엔티티 객체를
.(점)을 찍어 객체 그래프를 탐색하는 것• 상태 필드(state field): 단순히 값을 저장하기 위한 필드 (ex: m.username)• 연관 필드(association field): 연관관계를 위한 필드• 단일 값 연관 필드: @ManyToOne, @One