JAVA27 인프런 JPA 7화 고급 매핑 "김영한 강사" -PlusUltraCode- 상속관계 매핑데이터베이스에서 상속 관계를 매핑하는 방법에는 여러 가지가 있습니다. 이 포스트에서는 Item이라는 엔티티를 예시로 들어 상속 관계를 어떻게 매핑할 수 있는지 살펴보겠습니다. Item 엔티티는 Book, Movie, Album 등으로 확장될 수 있습니다.상속 관계 매핑 전략상속 관계를 매핑하는 3가지 주요 전략이 있습니다:1. 조인 전략 (Joined Strategy)가장 많이 사용되는 전략으로, Item 엔티티에 DTYPE을 추가하여 구분합니다. 각각의 서브 클래스(Book, Movie, Album)는 별도의 테이블을 가지며, Item 테이블과 조인하여 데이터를 가져옵니다.@Entity@Inheritance(strategy = InheritanceType.JOINED)@Discriminat.. 2024. 7. 20. 인프런 JPA 6화 다양한 연관관계 매핑 "김영한 강사" -PlusUltraCode- 연관관계 매핑 기초: 일대일(1:1) 관계 및 다대다(N) 관계1. 일대일(1:1) 관계외래키 어디에 넣을까?일대일 관계에서 외래키는 어느 엔티티에나 넣어도 됩니다.하지만 일반적으로 조회 빈도가 더 높은 쪽에 외래키를 넣는 것이 성능상 유리합니다.단방향 일대일 관계예를 들어, Member와 Locker가 있을 경우 Member에 locker_id를 넣어서 일대일 관계를 표현할 수 있습니다.@Entitypublic class Member { @OneToOne @JoinColumn(name = "locker_id") private Locker locker; // Getter, Setter}양방향 일대일 관계양방향 관계를 만들고 싶다면 Locker에도 Member를 추가하면 됩니다.. 2024. 7. 20. 인프런 JPA 5화 연관관계 매핑 기초 "김영한 강사" -PlusUltraCode- 연관관계 매핑 기초: 단방향 연관관계와 양방향 연관관계1. 단방향 연관관계단방향 연관관계는 한쪽 엔티티에서만 다른 엔티티를 참조하는 방식입니다. 예를 들어, Member 엔티티가 Team 엔티티를 참조하는 경우입니다.@Entitypublic class Member { @ManyToOne @JoinColumn(name = "team_id") private Team team; // Getter, Setter}이렇게 하면 Member 엔티티는 Team 엔티티와 1관계 중 N 쪽에 해당하게 됩니다. 그렇다면 1쪽 엔티티는 어떻게 작성해야 할까요?@Entitypublic class Team { @OneToMany(mappedBy = "team") private Lis.. 2024. 7. 20. 인프런 JPA 4화 필드 컬럼 "김영한 강사" -PlusUltraCode- 엔티티 매핑에 대해 알아보자@Entity와 @Table 어노테이션 @Entity @Table(name="MBR")위와 같이 선언하면, MBR이라는 데이터베이스의 테이블을 매핑한다.Hibernate DDL 생성 옵션 property name="hibernate.hbm2ddl.auto" value="create" />hbm2ddl.auto 옵션은 다음과 같이 설정할 수 있다:create: 기존 테이블을 삭제하고 다시 생성create-drop: 애플리케이션 종료 시 테이블 삭제update: 변경된 내용만 반영 (삭제는 하지 않음)validate: 엔티티와 테이블이 정상적으로 매핑되었는지 확인권장 사용 시점개발 초기: create 또는 update테스트 서버: update 또는 validate스테이징과 운영 서.. 2024. 7. 19. 이전 1 2 3 4 5 ··· 7 다음