Spring JPA
기능 목록
회원 기능
상품 기능
주문 기능
기타 요구사항
최적화 목록
정리
각 방식마다 장단점이 분명하게 차이가 있기때문에 현재 상황이 어떤지 확인하고 맞춰서 사용할 것
스프링 데이터 JPA 분석
@Transactional
에 대한 차이 구분하기JPA: 모든 변경이 트랜잭션 안에서 수행
스프링 데이터 JPA: 변경(등록, 수정 삭제) 메서드가 트랜잭션안에서 수행
save
의 차이신규 데이터
persist()
기존 데이터가 존재하는 경우
merge()
merge()
는 select 이후에 값을 변경하는 기본 프로세스를 인지 할 것
Entity를 사용할 때 Id 관리를 어떻게 할 것인가에 따라
Persistable
인터페이스 사용
그 외 기능
Specifications
: 복잡함Query By
: outer join에 대해서 제약이 있음projections
: Native Query의 대체가 될 수 있으나 데이터 조회 최적화에서 신경써야할 부분이 있음Native Qeury
: 이거 쓸바엔 JdbcTemplate 사용, 아니면 MyBatis
결론
QueryDSL 공부해라
프로젝트 설정
QueryDSL 설정 및 검증
compileQuerydsl 후 검증용 Q 타입 생성 (build/generated/querydsl/
패키지명.엔티티클래스.java
) 확인
JPQL과 Querydsl의 차이점
Querydsl에서 제공하는 메서드
검색 조건
,정렬
,페이징
,집합
,조건문
Querydsl 조인 활용
Querydsl 서브쿼리
Projection
과@QueryProjection
동적쿼리
Querydsl bulk 연산
Querydsl 사용자 정의 레포지토리
Querydsl 페이징 최적화
Querydsl 실무 활용가능 커스텀 클래스
단축키 꿀팁 모음
단축키 shift + command + c
해당 폴더 경로 복사: 터미널에 복사해서 빠르게 이동
reCompile shift + command + F9
Thymeleaf 사용시 recompile로 refresh (devtools dependency 필요)
Last updated