사전정의@SpringBootTest @Transactional public class TestClass { @Autowired EntityManager em; @BeforeEach void setUp() { Team team = new Team("team1", "팀1"); em.persist(team); Member member1 = new Member("member1", "회원1"); member1.setTeam(team); em.persist(member1); em.flush(); }@AfterEach void tearDown() { em.flush(); em.close(); } 저장package com.example.springboot3.test; import com.example.springboo..
양방향 연관관계의 매핑@Entity(name = "Member") @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor @Setter public class Member { @Id @Column(name = "MEMBER_ID") private String id; private String username; // 연관관계 매핑 @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; public Member(String id, String username) { this.id = id; this.username = username; } }@Entity @Setter @N..
양방향 관계를 매핑하는 경우연관관계의 주인 을 명확하게 정해야합니다.연관관계의 주인이란외래 키의 관리 권한을 가지는 쪽오직 주인만이 외래 키 등을 관리 ( 등록 , 수정 , 삭제 등) 할 수 있습니다.규칙연관관계의 주인은 mappedBy 속성을 사용하지 않습니다.연관관계의 주인이 아닌 쪽은 mappedBy 속성을 사용해야합니다.해당 속성 값으로는 연관관계의 주인이 되는 필드의 이름을 지정합니다.class Member { @ManyToOne @JoinColumn(name="TEAM_ID") private Team team; }class Team { @OneToMany(mappedBy = "team") // 주인이 아닌쪽. private List members = new ArrayList(); }선택의 기준..
개요다대일 단방향 연관관계의 경우 여러 엔티티가 하나의 다른 엔티티를 참조할 수 있는 구조참조하는 쪽이 외래 키를 가진다.…객체 연관Member 객체는 Team 객체를 team 필드를 통해 참조함.테이블 연관MEMBER 테이블의 TEAM_ID 컬럼은 외래 키(FK) 로서 TEAM 테이블의 TEAM_ID 를 참조함.public class Team { @Id @GeneratedValue @Column(name = "TEAM_ID") private Long id; @Column(name = "NAME") private String name; @OneToMany(mappedBy = "team") private List members = new ArrayList(); public Team(Long id, Stri..
개요하나의 팀은 여러 회원을 참조할 수 있음팀이 회원들을 참조회원 팀 참조 X → 단뱡향@Entity public class Team { @Id @GeneratedValue @Column(name = "TEAM_ID") private Long id; private String name; @OneToMany @JoinColumn(name = "TEAM_ID") //MEMBER 테이블의 TEAM_ID (FK) private List members = new ArrayList(); //Getter, Setter... } @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private Stri..
개요하나의 팀은 여러 회원을 참조할 수 있음팀이 회원들을 참조회원 팀 참조 X → 단뱡향@Entity public class Team { @Id @GeneratedValue @Column(name = "TEAM_ID") private Long id; private String name; @OneToMany @JoinColumn(name = "TEAM_ID") //MEMBER 테이블의 TEAM_ID (FK) private List members = new ArrayList(); //Getter, Setter... } @Entity public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; private Stri..