본문 바로가기

JPA3

[스프링 JPA 1편] 2 - 2) 엔티티 설계 시 주의점 * Mac사용, Java17 사용 * 진도 : 섹션 2 - (5) * : 자바 클래스명, : 코드, : 단축키 1. 가급적 Setter 사용 X Setter가 모두 열려있다. 변경 포인트가 너무 많아서, 유지보수가 어렵다. 나중에 리펙토링으로 Setter 제거 2. 모든 연관관계는 지연로딩으로! [해결] 즉시로딩(EAGER)은 예측이 어렵고 어떤 SQL이 실행될 지 추적하기 어렵다 실무에서 모든 연관관계 지연로딩(LAZY) 설정! 연관된 엔티티를 같이 조회하고 싶으면 fetch join 또는 엔티티 그래프 기능을 사용 @XToOne(OneToOne, ManyToOne)같이 1로 가는 관계는 기본 fetch가 EAGER이므로 위험하므로 직접 다 찾아서 LAZY로 바꿔줘야 한다 (OneToMany는 기본 f.. 2023. 12. 12.
[스프링 JPA 1편] 2 - (1) 도메인 분석 설계 * Mac사용, Java17 사용 * 진도 : 섹션2-(1) ~ (4) * : 자바 클래스명, : 코드, : 단축키 1. 요구사항 분석 회원 회원 등록 회원 조회 상품 기능 상품 상품 등록 상품 수정 상품 조회 주문 상품 주문 주문 내역 조회 주문 취소 기타 상품은 재고 관리 필요 상품의 종류 : 도서, 음반, 영화 상품을 카테고리로 구분 가능 상품 주문시 배송 정보 입력 2. 도메인 모델과 테이블 설계 1) 테이블 - 회원 / 주문 / 배송 / 주문 상품 / 카테고리 / 상품 / 배송 / 도서, 음반, 영화 회원은 여러 상품을 주문할 수 있다 = 1:N 주문할 때 배송정보 필요 = 1:1 한 번 주문할 때 여러 상품을 주문.. 2023. 12. 12.
[스프링 JPA 1편] 1 - (1) 프로젝트 생성 * Mac사용, Java17 사용 * 진도 : 섹션1 * : 자바 클래스명, : 코드, : 단축키 1. Open JDK11 설치 Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he jdk.java.net JDK 다운로드 후 압축풀기 방법 1) Finder.. 2023. 12. 12.