[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.)