이런식의 복합키와 상속구조는... 지양한다.
@MapsId는 자식 엔티티의 기본 키를 부모 엔티티의 기본 키와 동일하게 매핑할 때 사용하는데...
식별 관계는 부모테이블의 기본 키를 자식테이블로 전파하면서 자식테이블의 기본키 컬럼이 점점 늘어난다
특정상황에 조인 없이 하위 테이블만으로 검색 가능한 것이 식별
뭐 classId를 쓰든 EmbeddedId를 쓰든 EmbeddedId가 좀더 객체지향적이라고는 하나, 어쨌건
그냥 비식별 관계로... ID를 생성하면서 자식엔터티에서 ManyToOne으로 다애일 관계를 맺는 형태로 Join하면...
간단하긴 하다...
// 연관관계 매핑 : 다중성(다대일, 일대다, 일대일, 다대다) - 단방향,양방향 - 연관관계의 주인(외래키를 가진 테이블, 많은 쪽, mapped by 가 없는쪽)
연관관계에서 매핑이 잘못되면 어쨌건 꼬일 것이다.
기억할 것은 양방향 매핑에서 외래키를 가진 테이블 , 많은 쪽 즉 다인쪽, 코드상으로 mapped by가 없는 쪽이
연관관계의 주인이다.
@MapperSuperClass 는 추상형태로 모아놓을수 있다.
https://github.com/MyoungSoo7/jpatest
LIST
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
인텔리제이 젯브레인 - AI Assistant~!와 vscode보다 편리한 fleet (2) | 2024.09.25 |
---|---|
JPA 간단정리3 (2) | 2024.09.16 |
JPA 간단 정리 1 (0) | 2024.09.12 |
백엔드 TDD 비디오가게편 (0) | 2024.09.03 |
백엔드와 테스트 주도 개발 자판기편 (2) | 2024.09.02 |