JPA 사용시 OneToOne 연관 멀티 PK 생성

186 views
Skip to first unread message

시간여행자

unread,
Jul 7, 2020, 5:55:31 AM7/7/20
to Korea Spring User Group Q&A
안녕하세요,
JPA 사용중 궁금한 부분이 있어 질문 드립니다.

연관관계 생성중 OneToOne 양방향 관계에서 PK 값을 하나로 유지 할때는 모두 정상 동작 하는데.

PK값을 복수로 주고 @EmbededId 를 설정 하면 저장은 잘되나 조회시에 'Provided id of the wrong type for class ' 라고 Type mismatch 가 됩니다.
엉뚱한 embeddable 클레서를 찾고 있는데 이유가 무엇인지 알수 있을가요 ?

코드부분 올려드립니다.
//parent class
@OneToOne(mappedBy = "localBeefManagement"
       
, fetch = FetchType.LAZY
       
, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}
       
, optional = false)
private CattleBuyInformation cattleBuyInformation;

//child class
@MapsId("localBeefManagementPK")
@OneToOne(fetch = FetchType.LAZY, cascade = {
       
CascadeType.PERSIST, CascadeType.MERGE
}, optional = false)
@JoinColumns({
       
@JoinColumn(name = "cattleEntityManagementNumber",referencedColumnName = "entityManagementNumber")
       
, @JoinColumn(name = "cattleEntityIdentificationNumber", referencedColumnName = "entityIdentificationNumber")
})
private LocalBeefManagement localBeefManagement;


// Embeddable PK 값 (parent)
private String entityManagementNumber;
private String entityIdentificationNumber;


// Embeddable PK 값 (child)
private String cattleEntityManagementNumber;
private String cattleEntityIdentificationNumber;





Reply all
Reply to author
Forward
0 new messages