본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. Member를 조회할 때 Team도 함께 조회해야 할까? 단순히 member 정보만 사용하는 비즈니스 로직 println(member.getName()) 메소드가 있다고 해보자. 지연 로딩 LAZY을 사용해서 프록시로 조회 @Entity public class Member...
[자바 ORM 표준 JPA 프로그래밍-기본편] 프록시와 연관관계 관리
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 프록시 Member를 조회할 때 Team도 함께 조회해야 할까? 회원과 팀 함께 출력 public void printUserAndTeam(String memberId) { Member member = em.find(Member.class, memberId); ...
[자바 ORM 표준 JPA 프로그래밍-기본편] 실전 예제4 - 상속관계 매핑
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 요구사항 추가 상품의 종류는 음반, 도서, 영화가 있고 이후 더 확장될 수 있다. 모든 데이터는 등록일과 수정일이 필수다. 도메인 모델 도메인 모델 상세 테이블 설계 실습 코드 BaseEntity.java @MappedSuperclass publi...
[자바 ORM 표준 JPA 프로그래밍-기본편] Mapped Supperclass - 매핑 정보 상속
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. @MappedSuperclass 공통 매핑 정보가 필요할 때 사용(id, name)한다. 상속관계 매핑X 엔티티X, 테이블과 매핑X 부모 클래스를 상속 받는 자식 클래스에 매핑 정보만 제공 조회, 검색 불가(em.find(BaseEntity) 불가) 직접...
[자바 ORM 표준 JPA 프로그래밍-기본편] 상속관계 매핑
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 상속관계 매핑 관계형 데이터베이스는 상속 관계X 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사 상속관계 매핑: 객체의 상속과 구조와 DB의 슈퍼타입 서브타입 관계를 매핑 슈퍼타입 서브타입 논리 모델을 실제 물리 모델로 구현하는 3가지 방법 ...
[자바 ORM 표준 JPA 프로그래밍-기본편] 실전 예제3 - 다양한 연관관계 매핑
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 배송, 카테고리 추가 - 엔티티 주문과 배송은 1:1(@OneToOne) 상품과 카테고리는 N:M(@ManyToMany) 배송, 카테고리 추가 - ERD 배송, 카테고리 추가 - 엔티티 상세 만약 상위 카테고리가 존재한다면 아래처럼 활용할 수 있다. ...
[자바 ORM 표준 JPA 프로그래밍-기본편] 다양한 연관관계 매핑
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 연관관계 매핑시 고려사항 3가지 다중성 단방향, 양방향 연관관계의 주인 다중성 다대일: @ManyToOne 일대다: @OneToMany 일대일: @OneToOne 다대다: @ManyToMany 위의 관점이 헤깔릴땐 대칭적인 관점으로 보면 쉽다....
[자바 ORM 표준 JPA 프로그래밍-기본편] 실전 예제2 - 연관관계 매핑 시작
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 테이블 구조 테이블 구조는 이전과 같다. 객체 구조 참조를 사용하도록 변경
[자바 ORM 표준 JPA 프로그래밍-기본편] 양방향 연관관계와 연관관계의 주인
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 양방향 매핑 테이블 의 연관관계에는 외래키 하나로 양방향이 다 있는 것이다. (사실상 방향이란 개념 자체가 없다) Member에서 내가 속한 팀을 알고 싶으면 Member의 TEAM_ID(FK)와 TEAM의 TEAM_ID(PK)를 조인하면 됨 ...
[자바 ORM 표준 JPA 프로그래밍-기본편] 연관관계 매핑 기초
본 포스팅은 인프러의 JPA 기본편을 수강하고 정리하는 내용입니다. 목표 객체와 테이블 연관관계의 차이를 이해 객체의 참조와 테이블의 외래 키를 매핑 용어 이해 방향(Direction): 단방향, 양방향 다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M...