주 테이블이나 대상 테이블 중에 외래 키 선택 가능
※ 외래 키에 데이터베이스 유니크(UNI) 제약조건 추가
//Member.class
@OneToOne
@JoinColumn(name = "LOCKER_ID") //야가 연관관계 주인
private Locker locker;
//Locker.class
@OneToOne(mappedBy = "locker")
private Member member;
다대일 양방향 매핑과 거의 유사하다.
다대일 양방향 매핑처럼 외래 캐가 있는 곳이 연관관계의 주인이다.
db설계시에 지금은 일대일 관계인 테이블이 나중에 바뀔 우려를 고려해 보아야 한다. 그래서 외래키를 설정할 테이블을 고심해서 설정한 후 domain 설계 시에 외래키를 갖고 있는 테이블 쪽 Entity를 연관관계의 주인으로 설정해주는 것이 좋다.
/
/
대상 테이블에 외래 키가 있는 유형의 단점이 크기 때문에 실무에서는 주 테이블에 외래 키 방식을 사용하자!