diff --git a/backend/src/main/java/com/stackup/stackup/document/domain/AnalyzedDocumentRepository.java b/backend/src/main/java/com/stackup/stackup/document/domain/AnalyzedDocumentRepository.java index 14a230a3..6e31625e 100644 --- a/backend/src/main/java/com/stackup/stackup/document/domain/AnalyzedDocumentRepository.java +++ b/backend/src/main/java/com/stackup/stackup/document/domain/AnalyzedDocumentRepository.java @@ -17,21 +17,28 @@ Optional findByIdAndResume_User_IdOrIdAndRepository_User_Id( Long repositoryUserId ); + @Query(""" SELECT d FROM AnalyzedDocument d + LEFT JOIN d.resume rs + LEFT JOIN rs.user ru + LEFT JOIN d.repository rp + LEFT JOIN rp.user pu WHERE d.deleted = false - AND ((d.resume IS NOT NULL AND d.resume.user.id = :userId) - OR (d.repository IS NOT NULL AND d.repository.user.id = :userId)) + AND (ru.id = :userId OR pu.id = :userId) ORDER BY d.id DESC """) List findActiveByOwner(@Param("userId") Long userId); @Query(""" SELECT d FROM AnalyzedDocument d + LEFT JOIN d.resume rs + LEFT JOIN rs.user ru + LEFT JOIN d.repository rp + LEFT JOIN rp.user pu WHERE d.id = :id AND d.deleted = false - AND ((d.resume IS NOT NULL AND d.resume.user.id = :userId) - OR (d.repository IS NOT NULL AND d.repository.user.id = :userId)) + AND (ru.id = :userId OR pu.id = :userId) """) Optional findActiveByIdAndOwner(@Param("id") Long id, @Param("userId") Long userId);