[JPA] FK를 PK로 갖는 Entity
1명의 입주민이 1개의 주차공간을 사용한다고 가정 했을 때 1:1관계가 된다.
Person Entity가 number을 PK로 가지고 있고 ParkingLot이 Person의 Number을 FK로 참조하며 PK로 삼는다.
Person Entity
@Builder
@Entity
@Table(name = "PERSON")
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private Long number;
@Column(name = "AGE")
private Long age;
@Column(name = "NAME")
private String name;
@OneToOne(mappedBy = "person")
@PrimaryKeyJoinColumn
private ParkingLot parkingLot;
}
ParkingLot Entity
@Builder
@Entity
@Table(name = "PARKING_LOT")
public class ParkingLot {
@Id
@Column(name = "NUMBSER")
private Long number;
@OneToOne
@MapsId
@JoinColumn(name = "NUMBER", referencedColumnName = "NUMBER")
private Person person;
@Column(name = "AREA")
private String area;
}
insert 방법
Person person = personRepository.save(
Person.builder()
.name("홍길동")
.age(20)
.build()
);
ParkingLot parkingLot = parkingLotRepository.save(
ParkingLot.builder()
.person(person)
.area("A")
.build()
);
Author And Source
이 문제에 관하여([JPA] FK를 PK로 갖는 Entity), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wleo04/JPA-FK를-PK로-갖는-Entity저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)