작성
·
368
0
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요. 강의 테스트 코드 작성중에 의문사항 있어서 문의 드립니다.
1.
MemoryMemberRepository(왼쪽사진)의 save method에서 return member를 해주고 있습니 다. save함수는 Map<Long,Member> store 변수에 값을 저장하는 method로 생각되는데, return을 하는 이유가 궁금합니다.
findByName(오른쪽사진) method에서 repository.save(member1)는
Member member3 = repository.save(member1) 와 같이 Member member3을 선언을 안해도 되는것인지 문의드립니다.
감사합니다.
답변 1
0
안녕하세요. rkadbwkd님, 공식 서포터즈 OMG입니다.
.
1.
본 강의를 끝까지 들으면 아시게 되겠지만 다양한 DB접근 기술을 사용합니다.
Memory방식, JDBC, JdbcTemplate, JPA, SpringDataJPA 등을 사용하는데요
가장 마지막에 사용하는 SpringDataJPA의 save는 다음과 같은 시그니처를 갖고 있습니다.
파라미터로 받는 타입의 엔티티와 동일한 타입으로 반환하고 있는데요.
이 시그니처에 맞춰서 강의에서도 MemberRepository인터페이스를 작성하였습니다.
따라서 MemoryMemberRepository도 MemberRepository인터페이스 스펙에 맞춰서 구현하였습니다.
2.
스프링데이터JPA를 사용하지 않는다면(Jpa도 save구현에 따라) 상관없을 것 같고, 스프링데이터JPA를 사용한다면 아래의 좋은 코딩 스타일을 참고하시면 좋을 것 같아요.
당장 이해가 되지 않는다면 JPA를 본격적으로 학습하고 개발하실 때 참고하세요 :)
https://minkukjo.github.io/framework/2020/07/05/Spring-130/
.
감사합니다.