강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

rweteam님의 프로필 이미지
rweteam

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

스프링 데이터 JPA

안녕하세요 에러발생해서 해결했는데 왜 이게 문제인지 잘 모르겠습니다.

작성

·

215

0

실습을 똑같이 진행하고 있던 중 테스트코드를 실행해보니 에러에 마주쳤습니다.

 

문제는 제가 MemberRepository에 

 

public int getSize() 라는 메소드를 만들었기 때문이였는데요

(memory db 사용할 때 store변수의 사이즈를 조회해보려고 만든 메소드였습니다)

이전까지는 이 메소드가 있어도 모두 문제없이 잘 작동해서 전혀 문제될거라고 생각을 못했는데 이번에 스프링 데이터 jpa를 해보니까 에러가 발생하더라구요

 

이 부분을 지우니까 테스트코드가 잘 동작하던데 혹시 뭐가 문제인지 알 수 있을까요?

 

퀴즈

순수 JDBC를 사용할 때, 데이터베이스 리소스(연결, Statement 등) 관리가 어려웠던 주된 이유는 무엇일까요?

SQL 쿼리를 직접 작성해야 해서

각 리소스를 사용 후 반드시 직접 닫아줘야 해서

테스트 간 데이터 독립성을 보장하기 어려워서

의존성 주입 설정이 복잡해서

답변 1

1

안녕하세요. rweteam님, 공식 서포터즈 OMG입니다.

SpringDataJpaMemberRepository 인터페이스는 스프링데이터JPA가 만들어주는 인터페이스인 JpaRepository를 상속합니다.

문제가 발생하는 부분은 추가로 MemberRepository 인터페이스를 상속하여 그 안에 정의된 함수 때문에 발생합니다.

기존에 MemberRepository에 정의된 메서드(findAll, findById, findByName 등)는 영한님께서 추후 SpringDataJpa까지 고려하여 문제가 발생하지 않는 이름규칙을 적용해 만들었기 때문에 문제가 발생하지 않았다고 보시면 됩니다.

발생하는 문제를 해결하기 원하시면 "spring data jpa 사용자 정의 리포지토리"를 검색하여 학습하시길 권장드립니다. 혹은 영한님의 SpringDataJPA 강의를 참고해주세요 :)

감사합니다.

rweteam님의 프로필 이미지
rweteam
질문자

요즘 질문이 많은데 항상 이렇게 잘 알려주셔서 감사합니다.ㅎㅎ

메소드 명명 규칙같은게 있나보군요

rweteam님의 프로필 이미지
rweteam

작성한 질문수

질문하기