existsBy
-
ExistsBy쿼리를 직접 작성하기Spring 2022. 3. 4. 22:33
프로젝트 리팩토링을 진행하면서 연관관계의 데이터를 이용하여 데이터의 존재여부를 확인하는 경우가 필요하였다. JPA를 이용하면 "existsBy대상"을 통해서 작성하면 알아서 쿼리를 날려주지만, 나의 경우 처음에는 잘 작동하다가 갑자기 뒷부분의 toUserId 부분을 읽지 못하는 상황이 발생했다. (해당부분의 원인이 id를 Id로 작성하거나 대소문자의 구분이 잘 이루어지지 않아서(카멜표기법을 사용해야 함)라고 하여서 확인했으나 명확한 원인을 아직 발견하지 못했다. 😭) 우선 해결을 위하여 쿼리를 직접 구현해주어야 했다. existsBy 쿼리 작성 @Query(value = "SELECT CASE WHEN count(a) > 0 THEN true ELSE false END FROM Apple a WHERE ..
-
existsBy, countBy (JPA)Spring 2022. 2. 13. 18:52
미션을 진행하다가 넘어온 아이디로 조회한 객체가 존재하지 않을 때 예외를 발생시켜야 하는 부분에서 실제 객체를 찾고 null객체인지 확인하는 방법으로 체크를 하였는데 이 부분을 existsBy로 하여 JPA를 활용하도록 피드백을 받게 되었다. null 객체 확인 방법 ( 기존에 하던 방법 ) public ReviewDTO update(ReviewCreateDTO reviewCreateDTO) { if (reviewRepository.findById(reviewCreateDTO.getId()) == null) { throw new ReviewNotFoundException(); } } 하려고 하는 의도가 어떤 것인지 명확하지 않고 불필요한 부분이 존재한다. existsBy public ReviewDTO u..