5. [jpa] 주요키 공유 일대일 단방향 연관
public class Traveler {
@Id
private String email;
private String name;
}
public class TravelerBestSight {
@Id
private String email;
private String title;
private String description;
@OneToOne
@PrimaryKeyJoinColumn
private Traveler traveler;
}
@Test
public void 주요키를공유하는일대일단방향테스트() {
String email = "ryan@naver.com";
// Traveler 생성
Traveler traveler = Traveler.builder()
.email(email)
.name("Ryan")
.build();
travelerRepository.save(traveler);
// TravelerBestSight 생성
TravelerBestSight travelerBestSight = TravelerBestSight.builder()
.email(traveler.getEmail())
.title("lake luise")
.description("very very good")
.traveler(traveler)
.build();
travelerBestSightRepository.save(travelerBestSight);
// 아우터 조인이 걸려 조회된다.
Optional<TravelerBestSight> byId = travelerBestSightRepository.findById(email);
assertThat(byId.get().getTraveler().getEmail()).isEqualTo(email);
}
TravelerBestSight 생성 이전에 Traveler 가 미리 생성되어 있어야 한다.
'Dev' 카테고리의 다른 글
[Spring Boot] @SpringBootApplication (0) | 2019.12.09 |
---|---|
[git] remote: Invalid username or password. fatal: Authentication failed (0) | 2019.03.21 |
[jpa] 참조키를 이용한 1:1 양방향 연관 - Lazy Loading (0) | 2019.03.03 |
[jpa] 참조키를 이용한 1:1 양방향 연관 (0) | 2019.03.03 |
[jpa] 참조키를 이용한 1:1 단방향 연관 - Lazy Loading (0) | 2019.03.03 |