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 결국 이건 속성 같이 쓰고 싶을 때 쓰는 것!!!!