1. 연관관계 매핑시 고려사항 3가지 1) 다중성 다대일: @ManyToOne (가장 많이 사용) 일대다: @OneToMany (필요할 때 사용) 일대일: @OneToOne (가끔 사용) 다대다: @ManyToMany (실무에서 사용하지 않음) JPA의 어노테이션은 DB와 매핑하기 위해 존재. 애매할 때는 반대쪽을 생각하라. 회원과 팀의 관계가 헷갈리면, 팀과 회원의 관계를 생각하라. 2) 단방향, 양방향 테이블 외래 키 하나로 양쪽 조인 가능 사실 방향이라는 개념이 없음 객체 참조용 필드가 있는 쪽으로만 참조 가능 한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향 3) 연관관계의 주인 테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음 객체 양방향 관계는 A→B, B→A 처럼 참조가 2군데 존재 객..
연관관계 매핑 기초 객체의 참조와 테이블의 외래 키를 매핑 용어 이해 방향(Direction): 단방향, 양방향 다중성(Multiplicity): 다대일(N:1), 일대다(1:N), 일대일(1:1), 다대다(N:M) 연관관계의 주인(Owner): 객체 양방향 연관관계는 관리 주인이 필요 1. 연관관계가 필요한 이유 객체를 테이블에 맞추어 데이터 중심으로 모델링하면, 협력 관계를 만들 수 없다. 테블은 외래 키로 조인을 사용해서 연관된 테이블을 찾는다. 객체는 참조를 사용해서 연관된 객체를 찾는다. 테이블과 객체 사이에는 이런 큰 간격이 있다. Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member..
객체와 테이블 JPA(Java Persistence API)는 자바 어플리케이션에서 관계형 데이터베이스를 사용하기 위한 인터페이스를 제공합니다. 여기서 객체와 테이블 간의 매핑이 중요한데요, 객체는 자바 프로그램에서 사용되는 인스턴스를, 테이블은 데이터베이스에서 데이터를 저장하는 구조를 나타냅니다. 이 매핑은 JPA를 통해 객체와 테이블 사이에 어떻게 데이터를 주고받을 것인지를 정의합니다. 객체와 테이블 간의 관계를 이해하기 위해 간단한 예시를 들겠습니다. 예를 들어, 도서관에서 책과 작가 정보를 관리하는 프로그램을 만든다고 가정해봅시다. 먼저, 자바 프로그램에서 사용할 객체를 만듭니다. @Entity public class Book { @Id @GeneratedValue private Long id; ..