JpaRepository 파싱 오류

안민기·2023년 11월 9일

JpaRepository를 상속받으면 인터페이스에 있는 메소드의 이름대로 자동으로 쿼리를 생성해주는 기능이 있다.

@Repository
public interface DiaryRepository extends JpaRepository<Diary, Long>{
	List<Diary> findByUserId(Long user_id);
}

예를 들어 이런 코드를 만들어 놓으면 userId를 통해 객체들을 검색하는 함수를 자동으로 만들어 준다.

하지만 이 기능은 변수명에 언더바(_) 가 있을시 파싱이 제대로 되지 않고 오류가 생기는데, 위 코드의 경우 Diary 데이터베이스에서 칼럼명이 user_id이고, 그에 맞게 엔티티의 변수명도 user_id로 했었다가 오류가 생겨서 수정한 코드이다.

    @Column(name = "user_id")
    private Long userId;

이렇게 @Column 어노테이션을 이용하여 변수와 컬럼을 매핑해주면 user_id를 통해 검색하는 쿼리를 자동으로 생성해준다.

profile
개발 블로그

0개의 댓글