본문 바로가기

JPA/JPA원리22

18. 프록시 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 프록시 JPA로 Member를 조회할 때 Team도 함께 조회해야 할까? 이것은 너무 비효율적이지 않을까? 라는 생각을 할 수 있습니다. Member는 Team을 참조로 가지고 있지만 DB에는 Member와 Team 테이블이 따로따로 있어서 두개의 테이블을 모두 참조해야 합니다. 하지만 Member객체를 가져온 후 Member의 name, age 등등 의 필드만 사용하고, 조회한 Member의 Team에 대한 정보는 일절 필요하지 않은데, Team에 대한 정보까지 DB에서 가져오는 것은 굉장히 비효율적으로 보입니다. Member를 조회.. 2021. 7. 15.
17. @MappedSuperclass 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C @MappedSuperclass는 공통 매핑 정보가 필요할 때 사용합니다. 물론 아래와 같이 DB에는 따로따로 저장됩니다. @MappedSuperclass 는 1. 상속관계, 엔티티, 테이블과 매핑되는 것이 아닙니다. 2. 부모 클래스를 상속 받는 자식 클래스에 매핑 정보만 제공 조회, 검색 불가(em.find(BaseEntity) 불가) 3. 직접 생성해서 사용할 일이 없으므로 추상 클래스 권장 코드로 살펴보겠습니다. 만약 필요에 의해 Member, Order 등 등 수많은 테이블에 업데이트한 사람의 정보, 만들어진 날짜, 수정된 날.. 2021. 7. 14.
16 상속관계 매핑 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 상속관계 매핑 관계형 데이터베이스는 상속 관계가 없습니다. 다만 슈퍼타입과 서브타입 관계라는 모델링 기법이 객체의 상속관계와 가장 유사합니다. 하여 객체의 상속구조와 DB의 슈퍼타입 서브타입 관계를 매핑할 수 있도록 JPA가 지원해줍니다. 상속관계 매핑 전략들 상속관계 매핑 전략에는 몇가지 방법이 있습니다. 1. 조인 전략 장점: 1. 테이블 정규화 2. 외래 키 참조 무결성 제약조건 활용가능 3. 저장공간 효율화 단점: 1. 조회시 조인을 많이 사용, 성능 저하 -> 조회 쿼리가 복잡함 2. 데이터 저장시 INSERT SQL 2번 호.. 2021. 7. 14.
15 더 복잡한 연관관계를 매핑하기 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 이전 포스트팅의 모델에서 배송, 카테고리 엔티티가 추가되었습니다. N:M 관계는 1:N, N:1로 : • 테이블의 N:M 관계는 중간 테이블을 이용해서 1:N, N:1로. • 실전에서는 중간 테이블이 단순하지 않습니다. • @ManyToMany는 제약이 있다 : 필드 추가X, 엔티티 테이블 불일치 같은 문제가 발생할 수 있어 사용하지 않는 것이 좋습니다. --> 실전에서는 @ManyToMany 사용X Category Category_Item(N:M관계인 category와 ITem의 연결 테이블) Item Order_Item(N:M관계인.. 2021. 7. 13.