diff --git a/src/main/java/B1G4/bookmark/repository/PlaceRepository.java b/src/main/java/B1G4/bookmark/repository/PlaceRepository.java index 154c702..eb0266a 100644 --- a/src/main/java/B1G4/bookmark/repository/PlaceRepository.java +++ b/src/main/java/B1G4/bookmark/repository/PlaceRepository.java @@ -40,5 +40,7 @@ Page findByBoundingBox( "OR (LOWER(p.address) LIKE LOWER(CONCAT('%', :search, '%')))") Page findByNameContainingOrAddressContaining(@Param("search") String search, PageRequest pageRequest); - Page findByMood1OrMood2(Mood mood1, Mood mood2, Pageable pageable); + @Query("SELECT p FROM Place p WHERE (p.mood1 = :mood OR p.mood2 = :mood) AND (p.mood1 IS NOT NULL AND p.mood2 IS NOT NULL)") + Page findByMood(Pageable pageable, @Param("mood") Mood mood); + } diff --git a/src/main/java/B1G4/bookmark/service/PlaceService/PlaceServiceImpl.java b/src/main/java/B1G4/bookmark/service/PlaceService/PlaceServiceImpl.java index 59cfbfb..4818460 100644 --- a/src/main/java/B1G4/bookmark/service/PlaceService/PlaceServiceImpl.java +++ b/src/main/java/B1G4/bookmark/service/PlaceService/PlaceServiceImpl.java @@ -334,8 +334,7 @@ public PlaceResponseDTO.PlacePreviewListDTO getRecommendedPlaces(Member member, PageRequest pageable = PageRequest.of((page-1), 10); // 사용자의 선호 분위기와 일치하는 장소를 조회 - Page places = placeRepository.findByMood1OrMood2(member.getMood(), member.getMood(), pageable); - + Page places = placeRepository.findByMood(pageable, member.getMood()); // `PlaceConverter`를 사용하여 `PlacePreviewListDTO`로 변환 return PlaceConverter.toPlacePreviewList(places, member, memberService, placeImgRepository); }