인프런 커뮤니티 질문&답변
JPA 1:1 연관관계 설정
작성
·
116
0
안녕하세요
양방향 1:1 연관관계 관련되서 이해가 잘 되지않아 문의드립니다!
부모 entity, 자식 entity가 무조건 1:1 관계인 경우
자식은 없을 수 도 있지만 부모는 항상 존재해야함으로 부모 entity가 주최가 되는게 맞는걸로 알고있는데
자식이 존재하는 경우 데이터 등록 시 부모 테이블에만 등록이 되는데
엔티티 설정이 잘못된 부분이 어디인지 잘 모르겠습니다.. ㅠㅠ
@Getter @Setter @NoArgsConstructor(access = AccessLevel.PUBLIC) @Entity @Table(name = "TB_MANAGER") @DynamicInsert @DynamicUpdate @JsonInclude(JsonInclude.Include.NON_EMPTY) public class Manager { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "MANAGER_KEY") @ApiModelProperty(value = "관리자 시퀀스", hidden = true, name = "managerKey") private Long managerKey; @Column(name = "MANAGER_ID") @ApiModelProperty(value = "관리자 아이디", name = "managerId") private String managerId; @Column(name = "PASSWORD") @ApiModelProperty(value = "비밀번호", name = "password") @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String password; @Column(name = "NAME") @ApiModelProperty(value = "이름", name = "name") private String name; @OneToOne(fetch = FetchType.EAGER) @JoinColumn(name = "MANAGER_KEY") private ManagerSub managerSub; } @Getter @NoArgsConstructor(access = AccessLevel.PUBLIC) @Entity @Table(name = "TB_MANAGER_SUB") @DynamicInsert @DynamicUpdate @JsonInclude(JsonInclude.Include.NON_EMPTY) public class ManagerSub { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "MANAGER_SUB_KEY") @ApiModelProperty(value = "zzz", hidden = true, name = "managerSubKey") private Long managerSubKey; @Column(name = "MANAGER_KEY") private Long managerKey; @Column(name = "COUNT") @ApiModelProperty(value = "수", name = "count") private Long count; @Column(name = "PHONE") @ApiModelProperty(value = " 전화번호", name = "phone") private String phone; @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "MANAGER_KEY", insertable = false, updatable = false) private Manager manager; }
답변
답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!




