KIYOUNGYI / jpashop

jpa 강좌 따라하기

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

jpa 강좌 기본

일대다 단방향(1:n)

1이 주인(외래키 관리의 주체)

표준 스펙 제원하긴 함 근데 별로 권장하는 모델 아님(실무에서)

보통 실무에서 생성자로 빌드 패턴으로 생성한다.

일대다 양방향 억지스럽게 사용할 수 는 있는데 (읽기 전용 필드를 사용해서)

다대일 양방향을 사용하자!!!

일대일(1:1) 주 테이블이나 대상 테이블 중에 외래 키 선택 가능

주 테이블에 외래 키 대상 테이블에 외래 키

ex> 사람 <-> 라커 단, 사람은 무조건 라커 1개만 쓸 수 있다, 이런 비즈니스 로직이 필요하다.

member locker id id Locker locker name username

다대다(n:m) 쓰지 말라고 했다잉

연결 테이블을 추가해서 일대다, 다대일 관계로 풀어내야 함

member <-> product

member <- member_product -> product

근데 객체는

member<-> product 가 되긴 함 콜렉션을 이용해서

편리해 보이지만 실무에서 사용x

연결 테이블이 단순히 연결만 하고 끝나지 않음 주문시간,수량 같은 데이터가 들어올 수 있음

상속관계 매핑 jpa 는 기본적으로 1테이블에 다 때려넣는 것을 선호함.

클래스별로 테이블 가져가는거 언제 않 좋은지 - 데이터 뺄 때 안좋음

구현 클래스마다 테이블 전략 -> 결론부터 말하면 쓰면 안되는 전략 이 전략은 데이터베이스 설계자와 orm 전문가 둘 다 추천x

뭔가 클래스 변경할때마다

@MappedSuperClass 상속매핑이랑은 별 관계 없음요

뭔가 노가다 스러운거 ㅋㄷㅋㄷ

작성한 BaseEntity 클래스 참고염 @MappedSuperclass 결국 이건 속성 같이 쓰고 싶을 때 쓰는 것!!!!

About

jpa 강좌 따라하기


Languages

Language:Java 100.0%