2021-08-21

0821 서브쿼리 날리기

 

1. 방법

1) 만약 같은 테이블에서 서브쿼리를 날릴경우 - alias를 다르게 주어야 하므로, 새로운 Q도메인 객체를 생성한다. 

2) JPAExpressions를 이용하여 서브쿼리를 날린다. fetch수식어만 제외하고 QueryFactory에서 만드는 문법이랑 똑같음.

3) where 혹은 in조건을 이용하여 서브쿼리를 날릴 수 있다.

2 . 서브쿼리의 종류 : select , from, where

- 그러나 Querydsl에서는 from절에서의 서브쿼리를 지원하지 않는다.

Querydsl은 기본적으로 JPQL를 사용하기 쉽게 만들어주는 녀석인데, JPQL이 from절 서브쿼리를 지원하지 않기 때문이다. JPQL에서 안되는 것은 Querydsl에서도 안된다. ㅜㅜ

이경우에는hibernate구현체를 직접이용하거나, 조인으로 풀어내거나, 그것도 안되면 네이티브SQL을 날리는 수밖에 없다...


3. assertThat의 다양한 사용법

as("~~)를 이용해서 해당 assertThat에 특정 이름을 지정할 수 있다.

extractind("필드변수명").contains()혹은 containsExactly()를 사용하여 해당 값이 포함되어있는지를 좀더 상세하게 검증할 수 있다.


4. EntityManagerFactory에서 제공하는 LoadedUnitUtils를 이용하여, 해당 필드값이 loaded되었는지 아닌지를 true false로 검증할 수 있다. 

댓글 없음:

댓글 쓰기

0328 fdisk, mkfs, mount, fstab

 1. 하드디스크를 붙인다. 2. fdisk -l로 하드디스크를 확인한다.  - interactiive한 커맨드모드 사용하여 (m) 붙인 하드디스크의 파티셔닝을 한다.  - 마지막에 w를 해야 실제로 반영이 된다.  3. mkfs를 하여 어떤 파일시스...