반응형
@OneToOne
@OneToOne 관계를 정의하는 방법은 여러가지가 있습니다.
Foreign Key 를 등록하는 방법
// Customer class
@OneToOne
// Foreign Key 를 참조할 곳을 지정합니다.
@JoinColumn(name="record_id")
public Record record;
// Record class
// Foreign Key 를 제공하는 속성을 지정합니다.
@OneToOne(mappedBy="record")
public Customer customer;
Foreign Key를 제공하는 Entity와 제공받는 Entity로 생성됩니다. 제공받는 Entity는 반드시 @JoinColumn 으로 참조할 곳을 지정해줘야 하고, 제공하는 Entity는 제공받는 Entity 의 변수명을 mappedBy 값으로 지정해줍니다.
Primary Key 를 공유하는 방법
@Entity
public class Employee {
@Id Integer id;
// Employee.id 값으로 연결될 EmployeeInfo를 지정한다.
@OneToOne @MapsId
EmployeeInfo info;
}
@Entity
public class EmployeeInfo {
// Employee.id 값과 동일한 값으로 설정되므로, @GeneratedValue 를 사용해서는 안된다.
@Id Integer id;
}
@MapsId 로 동일한 Primary Key를 공유하게 됩니다.
반응형
'Develop > Backend 가이드' 카테고리의 다른 글
[Spring] JPA Mapping - @ManyToMany (0) | 2020.05.23 |
---|---|
[Spring] JPA Mapping - @OneToMany / @ManyToOne (0) | 2020.05.23 |
[Spring] JPA Mapping (0) | 2020.05.20 |
[Spring] @NotNull, @NotEmpty, @NotBlank 차이 (0) | 2020.05.19 |
[Spring] Spring Security 설계 구조 (0) | 2020.04.12 |
꾸준히 노력하는 개발자 "김예건" 입니다.