inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

174만명의 커뮤니티!! 함께 토론해봐요.

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

미해결

실전! 스프링 데이터 JPA

안녕하세요 김영한님! 자유주재로 올렸다가 요청해주신것에 따라서 질문으로 옮겼습니다. 현재 spring data jpa로 진행중이며 간략한 엔티티 및 관계 정의는 아래와 같습니다. Entity A [primary key A1, A2] / LectureType.class IdClassA [A1, A2] Entity B [primary key A1, A2, B1] / ManyToOne 단방향 관계, fetch lazy / ExamType.class IdClassB [IdClassA, B1] ex) BeforeAll로 A,B 더미 데이터를 저장 @Transactional @Test Brepository.findAll(); Brepository.findAll(); B Repository로 findall을 두번호출했을때 ( 다른 코드는 없습니다 ) identifier of an instance of B was altered from BIdClass@90c990a9 BIdClass@21b621d7 와 같이 예외가 발생했습니다. (키 값을 변경하려고 시도한적도 없습니다) 이와 관련해서 제가 개념을 잘못 익힌것인지, 검색 컨셉을 잘못잡은것인지 모르겠지만, 검색해도 잘 안나오더라구요. 각 엔티티의 주키를 string으로 직접 저장하는것 때문인지, 정확한 문제를 모르겠습니다. 공유 링크 : https://drive.google.com/file/d/1fnbHq8i1gcZC0eWFuCYolDnRzwOqio2x/view?usp=sharing 실행 방법 : spring data jpa 강의를 그대로 따라 한것이여서 강의에서 설명해주신것과 실행 방식이 다르지 않습니다. 다만 h2 데이터베이스를 별도로 다운받지 않고, 내장된 것을 사용중입니다. application.yml에 정보가 추가 되어 있습니다. 문제 발생되는곳 : test/java/study/datajpa/domain/exam/ExamTypeRepositoryTest 에서 exam_type_crud_check() 테스트 실행하면 에러 내용을 확인 할 수 있습니다. 하나더 궁금한 것이 있는데 id를 직접 넣어서 할때 강의해주신 Persistable<String> 을 사용하면 된다고 하셨는데, 복합키 혹은 식별 관계에 있는 복합키일 경우 IdClass를 String 부분에 넣어주면 되는것일까요??

  • springdatajpa
  • java
  • composite-identifier
  • spring
  • derived
  • JPA
  • spring-boot
KANG MIN SOO 댓글 2 좋아요 0 조회수 795

인기 태그

인프런 TOP Writers

주간 인기글