4차산업혁명의 일꾼/Java&Spring웹개발과 서버 컴퓨터

JPA 간단정리 2

르무엘 2024. 9. 16. 17:37

이런식의 복합키와 상속구조는... 지양한다.

@MapsId는 자식 엔티티의 기본 키를 부모 엔티티의 기본 키와 동일하게 매핑할 때 사용하는데...

식별 관계는 부모테이블의 기본 키를 자식테이블로 전파하면서 자식테이블의 기본키 컬럼이 점점 늘어난다

 

 특정상황에 조인 없이 하위 테이블만으로 검색 가능한 것이 식별

뭐 classId를 쓰든 EmbeddedId를 쓰든 EmbeddedId가 좀더 객체지향적이라고는 하나, 어쨌건

 

그냥 비식별 관계로... ID를 생성하면서 자식엔터티에서 ManyToOne으로 다애일 관계를 맺는 형태로 Join하면...

간단하긴 하다...

// 연관관계 매핑 : 다중성(다대일, 일대다, 일대일, 다대다) - 단방향,양방향 - 연관관계의 주인(외래키를 가진 테이블, 많은 쪽, mapped by 가 없는쪽)

연관관계에서 매핑이 잘못되면 어쨌건 꼬일 것이다.

기억할 것은 양방향 매핑에서 외래키를 가진 테이블 , 많은 쪽 즉 다인쪽, 코드상으로 mapped by가 없는 쪽이 

연관관계의 주인이다.

 

@MapperSuperClass 는 추상형태로 모아놓을수 있다.

 

https://github.com/MyoungSoo7/jpatest

 

 

 

LIST