[ 인프런 강의 마저 듣기 ]

[ 스프링 프레임워크 입문 ]
- PSA (추상화)
- ex. transaction, caching, SpringWebMVC 등
- 스프링 리액티브 5부터는 서블릿 사용하지 않고도 @Controller, @GetMapping 등 작동
[ JPA & Spring Data JPA 기초 ]
-
JPA
- Criteria
- 빌더를 이용해서 동적 쿼리 생성 가능
- 여러 테이블 조인, DBMS에 특화된 쿼리, 서브 쿼리, 대량 조회 및 처리의 경우
일반 쿼리 및 CQRS 사용 권장 (N+1문제 등)
- @AttributeConverter : DB와 객체의 컬럼/필드 타입 임의 매핑
- @DynamicUpdate : 변경된 컬럼만 UPDATE 쿼리에 포함
- @Immutable : 엔티티를 영속성 컨텍스트 변경 추적 대상에서 제외.
값이 변경되지 않고 조회만 하는 엔티티에 사용
- @Subselect : select 결과를 엔티티로 매핑. @Immutable와 함께 사용.
-
Spring Data JPA
- save() 동작 방식 : select + insert
- 새 객체면 persist, 아니면 merge
- Persistable 인터페이스를 직접 구현하여, select 쿼리 날아가지 않게 할 수 있음
- 정렬 : Sort 타입, Pageable/PageRequest 이용 등
- Specification (검색 조건을 생성하는 Interface)
- Spring Data JPA만 사용하면 안 되고, MyBatis, JDBC Template 등을 적절히 섞어야 사용하기
[ 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 ]
- @ResponseBody
- HTTP body에 반환
- veiwResolver 대신 HttpMessageConverter가 동작
- 빈 등록 : ComponentScan, @Configuration + @Bean, .xml
- JDBC 데이터 연결하여 사용 후, 소스 릴리즈 안 하면 커넥션 쌓이면서 터짐
- 테스트는 반복할 수 있어야한다.
@Transactional 애너테이션이 각 테스트 종료 후 롤백해줌.
- 테스트의 중요성,,
[ 느낀 점 ]
주말에 개인 작업하고 시간 있으면 마저 들어야겠다.
공부할 때 돈 안 들이는 타입이라 인강 사본 적 한 번도 없고 전부 무료 강의인데,
보다보니 약간 유료 강의 탐남,,
좋은 글 감사합니다.