프로젝션 : select 절에 뭘 가져올까?

한번의 여러개 담아둬서 막 꺼낼수 있는걸 Tuple이라 함.




번거롭다 jpql 을 사용하면

projects를 사용해서 dto로 변환 조회 프로퍼티 세터를 사용해서 조회하는 방식이다.


게터 세터 무시하고 필드에 바로 값이 박힘

생성자를 이용한 방법






-> complieQueryDsl



컴파일 오류로 빨리 잡을수 있음 / q파일 생성에다 MemberDto가 쿼리 디에스엘 프로젝션에 의존성을 가지게 됨.



초기값 설정 가능

함수가 많아서 코드가 길어지고 별로인거같지만
조회되는 코드만 보자면 단순하다

조합 가능



bulk 연산 주의점
member1~4 영속성 컨텍스트에 올라가 있음
username = member 1~4로
위에 쿼리문을 실행하면

영속성 컨텍스트와 상태가 안맞아 버림.
그리고 우선권은 영속성 컨텍스트가 우선을 가짐.
결과는 -> member1~4 유저네임이 계속 유지됨 .



초기화 시켜버리자







기본으로 제공되는 함수



좀더 간편하게