-
Validation failed for query for method public abstract 오류 발생시 (JPA)Spring 2022. 3. 4. 22:26
existsBy를 이용하여 연관관계의 데이터 아이디로 데이터 존재여부를 아는 쿼리를 작성하려고 할때 알맞은 쿼리임에도
쿼리 실패 오류가 발생했다.
기존의 코드
@Query(value = "SELECT CASE WHEN count(f) > 0 THEN true ELSE false END FROM Follow f LEFT JOIN FETCH f.fromUser a LEFT JOIN FETCH f.toUser b WHERE a.id=:fromUserId AND b.id=:toUserId") boolean existsByFromUserIdAndToUserId(Integer fromUserId, Integer toUserId);
기존코드를 보면 네이티브 쿼리로 작성되어 있으므로
수정한 코드
@Query(value = "SELECT CASE WHEN count(f) > 0 THEN true ELSE false END FROM Follow f LEFT JOIN FETCH f.fromUser a LEFT JOIN FETCH f.toUser b WHERE a.id=:fromUserId AND b.id=:toUserId", nativeQuery = true) boolean existsByFromUserIdAndToUserId(Integer fromUserId, Integer toUserId);
해당 쿼리 어노테이션에 nativeQuery 옵션을 true로 주면 작동하는 것을 확인할 수 있다.
( 참고한 사이트 )
https://jamong-icetea.tistory.com/173
'Spring' 카테고리의 다른 글
Service 계층에서 다른 Service 혹은 Repository (2) 2022.03.04 ExistsBy쿼리를 직접 작성하기 (0) 2022.03.04 CacadeType.REMOVE 와 orphanRemoval = true의 차이 (0) 2022.02.24 a collection with cascade="all-delete-orphan" was no longer referenced by the owning entity instance 발생 시 (0) 2022.02.16 @ParameterizedTest사용할 때 java.lang.NoSuchMethodException 발생 시 (0) 2022.02.16