• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

querydsl bulk연산 수행시 join조건

23.03.24 08:00 작성 23.03.24 08:01 수정 조회수 297

0

안녕하세요! Querydsl강의를 들으며 직접개발을해보며 적용해보고 있습니다!

근데 예제에 나와있지 않고 궁금증이 해소되지 않아 질문 남기게 되었습니다.

bulk연산 수행시 join 조건을 사용할 수 없나요?

member에서 그 전에 활동한 내역이 있는 사람이면, haveBeenActive값을 모두 true로 만들고 싶습니다..

(member의 email정보는 unique해서 식별자로 같은 사람인지 인식하게 했습니다)

2023-03-24 07:45:35.099 ERROR 33353 --- [nio-8080-exec-1] o.s.m.i.c.GlobalExceptionHandler : [Unknown Error] : null

이러한 오류가 납니다..

bulk연산 수행할때 join을 사용할 수 없나요?

계속해서 골머리를 앓다가 질문 남깁니다..

감사합니다!

public void 함수(Integer activityNum) {
        val member = QMember.member;
        val sub_member = new QMember("sub"); // 자기 자신과 join

        queryFactory.update(member)
                .set(member.haveBeenActive, true)
                .where(member.activity.eq(activityNum)
                        .and(member.id.eq(
                                JPAExpressions.select(member.id)
                                        .from(member)
                                        .join(sub_member)
                                        .where(member.activity.between(1,activityNum - 1)
                                                .and(member.email.eq(sub_member.email)))
                                        .fetchOne()
                        ))).execute();
}

답변 1

답변을 작성해보세요.

0

David님의 프로필

David

2023.03.25

안녕하세요. bbb3631님, 공식 서포터즈 David입니다.

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.
구글 드라이브 업로드 방법은 다음을 참고해주세요.

구글 드라이브 업로드 방법 링크

주의: 업로드시 권한 문제 꼭 확인해주세요

추가로 다음 내용도 코멘트 부탁드립니다.

1. 실행 방법을 알려주세요.
2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.

감사합니다.