728x90
최근에 개인적인 사정으로 포스팅을 못해서 오랜만에 오류 포스팅으로 찾아왔습니다.
제가 개인적으로 JPA를 공부하고 있는데 JPA를 하다보면 생각하지 못한 곳에서 오류가 자주 발생했습니다.
Validation failed for query for method public abstract
위와 같은 오류가 발생했었는데 처음에 왜 발생했는지 몰랐습니다.
/**
* Repository 로직
*/
public interface blogPostRepository extends JpaRepository<blogPostEntity, Integer> {
// Iterable<blogPostEntity> findAll();
@Query(value = "SELECT * FROM BlogPost where postmaintitle = :postMainTitle")
List<blogPostEntity> findByPostMainTitle(@Param("postMainTitle") String postMainTitle);
}
제 코드는 위와 같았습니다.
처음에 왜 이게 오류인지 해매고 있다가 Spring 공식 사이트를 뒤져서 알게되었는데
NativeQuery를 True로 선언해주면 해결되는 문제였습니다.
즉 내가 동적으로 직접 쿼리를 날리는 경우라면 NativeQuery를 True로 설정해주면 해결되는 문제입니다.
이번 오류를 통해서 느낀건 JPA는 정말 어렵군....
아직 공부중이라 그럴 수 있는데 익숙하지 않기도 하면서 한편으로는 정말 기술의 발전 덕분에 쉽게 쿼리를 날릴 수
있다는 장점도 있다.
👇👇👇👇👇👇👇👇 더 다양한 공부내용과 정보들은 아래의 git에서 확인 가능합니다. 🤞 👇👇👇👇👇👇👇👇
728x90