작성
·
182
0
실습을 똑같이 진행하고 있던 중 테스트코드를 실행해보니 에러에 마주쳤습니다.
문제는 제가 MemberRepository에
public int getSize() 라는 메소드를 만들었기 때문이였는데요
(memory db 사용할 때 store변수의 사이즈를 조회해보려고 만든 메소드였습니다)
이전까지는 이 메소드가 있어도 모두 문제없이 잘 작동해서 전혀 문제될거라고 생각을 못했는데 이번에 스프링 데이터 jpa를 해보니까 에러가 발생하더라구요
이 부분을 지우니까 테스트코드가 잘 동작하던데 혹시 뭐가 문제인지 알 수 있을까요?
답변 1
1
안녕하세요. rweteam님, 공식 서포터즈 OMG입니다.
SpringDataJpaMemberRepository 인터페이스는 스프링데이터JPA가 만들어주는 인터페이스인 JpaRepository를 상속합니다.
문제가 발생하는 부분은 추가로 MemberRepository 인터페이스를 상속하여 그 안에 정의된 함수 때문에 발생합니다.
기존에 MemberRepository에 정의된 메서드(findAll, findById, findByName 등)는 영한님께서 추후 SpringDataJpa까지 고려하여 문제가 발생하지 않는 이름규칙을 적용해 만들었기 때문에 문제가 발생하지 않았다고 보시면 됩니다.
발생하는 문제를 해결하기 원하시면 "spring data jpa 사용자 정의 리포지토리"를 검색하여 학습하시길 권장드립니다. 혹은 영한님의 SpringDataJPA 강의를 참고해주세요 :)
감사합니다.
요즘 질문이 많은데 항상 이렇게 잘 알려주셔서 감사합니다.ㅎㅎ
메소드 명명 규칙같은게 있나보군요