인프런 커뮤니티 질문&답변

윤가람님의 프로필 이미지
윤가람

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

복합키 연관관계 설정문의사항.

작성

·

1.3K

0

안녕하세요. 질문이 있어 글을 남깁니다.

실무에서 엔티티에 PK가 1개 이상일 경우, 복합키 처리 할때

별도의 PK 식별 클래스를 만들고 @IdClass 를 사용하여 처리 해주었는데요..

 

그 복합키에 해당하는 (저같은 경우는 지금 PK가 2개 입니다.)

PK 중 하나는 직접 입력이고, 하나는 @GeneratedValue로 해서 auto_creament 로 해서 사용하려고 하는데

@GeneratedValue로 하면 에러가 나네요. 그래서 직접입력으로 PK 두개 모두 해봤더니 정상적으로 잘되구요.

 

Could not set field value [POST_INSERT_INDICATOR] value by reflection 이런 에러메세지가 나오는데

이유를 알수 있을까요?

답변 2

0

늦었지만... 뒤에 분들을 위해 쓰자면
https://shinsunyoung.tistory.com/45
저도 동일한 문제로 고민하다 요 블로그를 참고해서 하니까 되더라구요

@IdClass의 Class 항목들에 모두 @Column을 설정해 주시면 됩니다!

public class UserId implements Serializable {

    @Column(name = "seq")
    private Long userSeq;
    @Column(name = "id")
    private String userId;

}

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 윤가람님

JPA 복합키의 경우 @GeneratedValue를 사용할 수 없습니다.

이 경우 직접 외부에서 키를 조회해서 넣어주셔야 합니다.

키 생성기를 직접 커스터마이징 하는 방법도 있을 것 같기는 한데, 저도 적용해보지는 않아서 관련해서 아시는 분 있으면 답변 남겨주세요^^

감사합니다.

윤가람님의 프로필 이미지
윤가람

작성한 질문수

질문하기