코딍코딍
코딩기록
코딍코딍
전체 방문자
오늘
어제
  • 분류 전체보기 (271)
    • 개발 (2)
    • Java (1)
    • 스프링 (28)
    • JPA (11)
    • Git (3)
    • 알고리즘 (160)
      • 백준 (132)
      • 프로그래머스 (8)
      • SWEA (20)
    • 토이 프로젝트 (14)
      • 간단한 Springboot CRUD (1)
      • 게시판 프로젝트 (13)
    • 알고리즘 개념정리 (8)
    • 오류 해결 (13)
    • 보류 (0)
    • AWS (5)
    • 트러블 슈팅 (0)
    • 회고 (3)
    • CS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

최근 글

티스토리

hELLO · Designed By 정상우.
코딍코딍
스프링

Subquery returns more than 1 row

스프링

Subquery returns more than 1 row

2023. 3. 4. 10:39

오류 메세지

서브쿼리의 결과가 2행이상일때 발생하는 에러이다.

 

기존 코드

List<Board> boards = queryFactory
        .select(board).distinct()
        .from(board)
        .join(board.home, home).fetchJoin()
        .join(home.homeImages).fetchJoin()
        .where(board.id.eq(
                select(heart.boardId)
                        .from(heart)
                        .where(heart.userId.eq(userId))
        )).fetch();
  • where절에서 eq()로 비교를 하는데 eq는 '=' 비교이므로 서브쿼리의 결과가 1개만 반환될 경우 사용가능하기에 2개이상이 반환되면 위와 같은 오류 메세지가 발생한다.

해결

List<Board> boards = queryFactory
        .select(board).distinct()
        .from(board)
        .join(board.home, home).fetchJoin()
        .join(home.homeImages).fetchJoin()
        .where(board.id.in(
                select(heart.boardId)
                        .from(heart)
                        .where(heart.userId.eq(userId))
        )).fetch();
  • in()로 비교하여 문제를 해결하였다.

'스프링' 카테고리의 다른 글

JPA DTO 직접조회 방식  (0) 2023.03.04
@OneToOne 양방향 LazyLoading 실패  (0) 2023.02.28
EntityNotFoundException: Unable to find com.aloharoombackend.model.HomeImage with id 1  (0) 2023.02.28
Spring Boot 파일 업로드 용량 제한 설정  (0) 2023.02.23
스프링 부트 - 오류 페이지  (0) 2022.08.20
  • 오류 메세지
  • 기존 코드
  • 해결
'스프링' 카테고리의 다른 글
  • JPA DTO 직접조회 방식
  • @OneToOne 양방향 LazyLoading 실패
  • EntityNotFoundException: Unable to find com.aloharoombackend.model.HomeImage with id 1
  • Spring Boot 파일 업로드 용량 제한 설정
코딍코딍
코딍코딍
ㅎ2

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.