반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바
- 스프링
- filebeat
- 자바스크립트
- logstash
- Spring
- springboot
- DB
- javascript
- querydsl
- mysql
- mybatis
- kibana
- JPA
- ajax
- 스프링부트
- 동기
- spring boot
- 백엔드
- 코딩테스트
- elk
- oracle
- Callback
- 백준
- crud
- 알고리즘
- jQuery
- Java
- 파이썬
- 비동기
Archives
- Today
- Total
샘오리_개발노트
QueryDSL 다른 조건으로 같은 테이블 여러번 조인하기 본문
728x90
반응형
QueryDSL을
사용할줄 안다는 가정하에
Repository 구현체에 QClass를 조건의 수만큼 선언하고
선언한 그 QClass의 인스턴스 변수를 가져와 사용하는 것이다.
아래는 조회 예시이다.
Q클래스이름 조건1 = new Q클래스이름("조건1");
Q클래스이름 조건2 = new Q클래스이름("조건2");
조건1과 조건2를 선언했다면
조회를 위해 select에 포함시켜준다.
조건1.원하는칼럼.as("가명"),
*여기서 중요한 것은 조건1은 기존 테이블이 아니기 때문에 가명을 써줘야 한다.
이 가명을 통해 앞단에서 select를 해올 수 있다.
예를 들어 테이블1과 공통 테이블2가 있다고 가정해보자.
공통 테이블2의 원하는 칼럼을 테이블1의 칼럼에 삽입하기 위해서 테이블1의 칼럼을 가명으로 선언하는 것이 편하다.
join에도 포함시켜주면 된다.
.leftJoin(조건1).on(기존테이블.기존칼럼.eq(조건1.원하는칼럼))
이렇게 되면
기존테이블의 기존칼럼이 조건1의 원하는 칼럼과 일치하는 조건에 한해 조인이 일어나게 되고
그 조건으로 조인된 값중에 원하는 칼럼을 선언한 가명으로 삽입하게 되며
값이 삽입된 그 가명을 앞단에서 출력하면 앞단에서 보여지게 되는 것이다.
728x90
반응형
'개발자 전향 프로젝트' 카테고리의 다른 글
웹 워커(Web Worker)란? 언제 쓰는 걸까? feat.타이머 (0) | 2024.02.16 |
---|---|
싱글스레드 vs 멀티스레드 (1) | 2024.02.15 |
React 입문 - React, JSX, Babel, 그리고 Webpack 이해하기 (1) | 2024.02.15 |
Callback에 대한 의문과 Promise 와 Async/Await 를 쓰는 이유 (feat.비동기vs동기) (1) | 2024.01.30 |
ajax로 JSON 객체 배열 넘기기 (파이썬 장고) (0) | 2023.12.20 |
Comments