From 0615fdf1b417dd29dffe4e3a6bdddc4181d91b7a Mon Sep 17 00:00:00 2001 From: jun02160 Date: Tue, 24 Oct 2023 21:15:26 +0900 Subject: [PATCH] =?UTF-8?q?[FIX]=20jpql=20=EC=BD=94=EB=93=9C=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=B5=EA=B5=AC=20#113?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../parentchild/dao/ParentchildDao.java | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/umbba-domain/src/main/java/sopt/org/umbba/domain/domain/parentchild/dao/ParentchildDao.java b/umbba-domain/src/main/java/sopt/org/umbba/domain/domain/parentchild/dao/ParentchildDao.java index 535ee387..ad3d25a1 100644 --- a/umbba-domain/src/main/java/sopt/org/umbba/domain/domain/parentchild/dao/ParentchildDao.java +++ b/umbba-domain/src/main/java/sopt/org/umbba/domain/domain/parentchild/dao/ParentchildDao.java @@ -3,6 +3,7 @@ import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.jpa.impl.JPAQueryFactory; import com.querydsl.jpa.JPAExpressions; +import javax.persistence.NoResultException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; @@ -41,7 +42,7 @@ public Optional findByUserId(Long userId) { public Optional findMatchUserByUserId(Long userId) { - QUser user = QUser.user; + /*QUser user = QUser.user; QUser uc = new QUser("uc"); return Optional.ofNullable(queryFactory @@ -53,7 +54,22 @@ public Optional findMatchUserByUserId(Long userId) { .from(uc) .where(uc.id.eq(userId)) ))) - .fetchOne()); + .fetchOne());*/ + + String jpql = "SELECT u FROM User u " + + "JOIN User uc ON uc.parentChild = u.parentChild " + + "WHERE uc.id = :id AND uc.id != u.id"; + + try { + User user = em.createQuery(jpql, User.class) + .setParameter("id", userId) + .getSingleResult(); + return Optional.ofNullable(user); + } catch (NoResultException e) { + return Optional.empty(); + } finally { + em.close(); + } } public List findFcmTokensById(Long parentchildId) {