본문 바로가기

개발환경/intelliJ

intelliJ spring jpa 오류 (camel,snake)

오류가 자꾸뜬다 아무리봐도 잘못 작성한건 없는거같은데..

repository, entity, dto.... 어디가 문제인지 모르고 헤매고 있을때 같이 프로젝트 진행하는 조원이 알려줬다.

 

답부터 적자면

repository, entity 에서 snakecase를 column명을빼고 camelcase로 바꿔서 해결했다.

camelCase   카멜표기법    helloWorld

snakeCase   스네이크표기법    hello_world

 

자바에서는 '_' 밑줄 문자를 권장하지않는다!  특히나 스프링에서는 그렇다고한다

@Entity
@Data
@NoArgsConstructor
@Table(name = "tip")
public class Tip {

    @Id
    @Column()
    private String memberTip;  // member_tip을 이렇게 바꿈

    @Column()
    private String movieName; // movie_name을 이렇게 바꿈

    @ManyToOne()
    @JoinColumn(name="MEMBER_ID")
    private Member member;


    public Tip(String memberTip, String movieName) {	//여기도 마찬가지
            this.memberTip = memberTip;
            this.movieName = movieName;
        }


}

 

만약 칼럼 이름에 들어가는 '_' 는 괜찮다. 애초에 칼럼 이름이니까

 

public interface TipRepository extends JpaRepository<Tip, String> {

     List<Tip> findTipByMovieName(String movieName); 
     
     //원래는 findTipByMovie_name 이였다 파라미터도 마찬가지
}

 

 

 

 

자세한건 여기를 보면 좋을것 같습니다!

 

https://stackoverflow.com/questions/29983047/spring-data-jpa-repository-methods-dont-recognize-property-names-with-underscor/30535949