17주차에 실습한 Spring 웹사이트 수업 내용을 정리해보았습니다.
- MyBatis와 JPA는 각각 언제 사용하는 것이 좋을까?
- MyBatis : 테이블이 많아져서 복잡한 경우
- JPA : 간단한 프로젝트
Calendar 스프링으로 만들어보기
- schedule 입장에서는 user는 1명 > @ManyToOne
- user 입장에서는 여러개의 schedule이 가능 > @OneToMany(fetch = FetchType.
- fetch : 가져오다
- jpa에서는 자동으로 1개의 쿼리를 조회시 알아서 여러 쿼리 조회 n+1문제 > 자원문제 >속도저하
- FetchType.EAGER(바쁘게) : 연관있는 entity 그대로 가져감, 즉시실행, 일대일로 매핑되는 테이블은 한테이블로 움직임
- FetchType.LAZY(게으르게) : 연관있는걸 알아서 가져오는 것을 멈춤. 현업에서는 대부분 LAZY로 설정
- OneToMany는 반드시 FetchType.LAZY로 바꾼다.
- ManyToOne은 이론상 FetchType.EAGER으로 해도 되지만 FetchType.LAZY로 설정한다.
- List는 순서가 있고 Set은 순서가 없다.
- 최근순 정렬 @OrderBy(”date DESC”)
- DTO : 3가지 생성
- 스케쥴목록 나가는
- 스케쥴목록 가져오는
- 유저들어오는 > UserRequest
- email : session에서 가져온다
- id : 자동생성
- 받아오는 것 : 할일, 날짜
- 스케쥴삭제 : 해당 Id삭제
- 엔티티 안의 유저엔티티에 이메일(PK)을 넣으면 테이블이 알아서 들어감
- email, password를 받아서
- 보안과 관련된 것(로그인-조회)은 GetMapping을 쓰면 안되고 PostMapping으로 사용
'[패스트캠퍼스]KDT 핀테크 서비스 백엔드 > review' 카테고리의 다른 글
19주차 Review - Spring/SpringBoot (0) | 2023.01.20 |
---|---|
18주차 Review - Spring/SpringBoot (0) | 2023.01.13 |
16주차 Review - Spring/SpringBoot (0) | 2022.12.30 |
15주차 Review - Spring/SpringBoot (0) | 2022.12.23 |
14주차 Review - Spring/SpringBoot - 2022. 12. 16. 14:11 작성 (0) | 2022.12.19 |