작성
·
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를 사용할 수 없습니다.
이 경우 직접 외부에서 키를 조회해서 넣어주셔야 합니다.
키 생성기를 직접 커스터마이징 하는 방법도 있을 것 같기는 한데, 저도 적용해보지는 않아서 관련해서 아시는 분 있으면 답변 남겨주세요^^
감사합니다.