inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

KANG MIN SOO님의 게시글

KANG MIN SOO KANG MIN SOO

@mikeeasykoreaned2937

수강평 작성수
2
평균평점
5.0

게시글 2

질문&답변

복합키 식별관계 재질문입니다.

이것저것 해보다가 특정 부분을 수정했더니 테스트가 정상적으로 진행되는 부분이 있어서 답변하시는데 좀 더 수월하시지않을까 하고 추가 정보를 올립니다. 기존에는 엔티팅의 id 컬럼 명칭을 아래와 같이 했습니다. 변경전 public class LectureType { @Column (name = " lecture_type_category " ) @Id private String category ; @Column (name = " lecture_type_level " ) @Id private String level ; @Column (name = "lecture_type_name" ) private String name ; @Column (name = "lecture_type_description" ) private String description ; @Builder public LectureType (String category , String level , String name , String description) { this . category = category ; this . level = level ; this . name = name ; this . description = description ; } } public class ExamType { @Column (name = "exam_type_category" ) @Id private String category ; @ManyToOne (fetch = FetchType. LAZY ) @JoinColumns ({ @JoinColumn (name = " lecture_type_category " , referencedColumnName = " lecture_type_category " ) , @JoinColumn (name = " lecture_type_level " , referencedColumnName = " lecture_type_level " ) }) @Id private LectureType lectureType ; @Column (name = "exam_type_name" ) private String name ; @Builder public ExamType (String category , LectureType lectureType , String name) { this . category = category ; this . lectureType = lectureType ; this . name = name ; } } 컬럼명칭을 변경했습니다. 변경후 public class LectureType { @Column (name = " lt_category " ) @Id private String category ; @Column (name = " lt_level " ) @Id private String level ; @Column (name = "lecture_type_name" ) private String name ; @Column (name = "lecture_type_description" ) private String description ; @Builder public LectureType (String category , String level , String name , String description) { this . category = category ; this . level = level ; this . name = name ; this . description = description ; } } public class ExamType { @Column (name = "exam_type_category" ) @Id private String category ; @ManyToOne (fetch = FetchType. LAZY ) @JoinColumns ({ @JoinColumn (name = " lt_category " , referencedColumnName = " lt_category " ) , @JoinColumn (name = " lt_level " , referencedColumnName = " lt_level " ) }) @Id private LectureType lectureType ; @Column (name = "exam_type_name" ) private String name ; @Builder public ExamType (String category , LectureType lectureType , String name) { this . category = category ; this . lectureType = lectureType ; this . name = name ; } } 변경후에는 테스트가 정상적으로 통과했습니다.

좋아요수
0
댓글수
2
조회수
788