작성
·
586
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
솔직히 인터페이스 처음 설정에 대한 내용이 하나도 이해가 가질 않네요.. SpringDataJPA가 JpaRepository를 상속 받은 SpringDataJpaMemberRepository에 대한 구현체를 스프링 빈으로 등록해준다는 건 알겠는데, JpaRepository<Member, Long>에 있는 Member와 Long은 어떤 역할을 하기에 들어가는 것이며, 그 뒤에 함께 상속받는 MemberRespository는 어떤 역할을 하기위해 상속되는 건지 궁금합니다.
기초적인 질문을 드려 죄송합니다만, GPT도 설명을 제대로 안해주기에 정말 모르겠어서 이렇게 질문드립니다.
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. SpringDataJpaMemberRepository 인터페이스에 대한 질문이시군요.
Spring Data JPA는 JpaRepository 인터페이스를 상속받아 사용합니다. JpaRepository는 Spring Data JPA가 제공하는 기본적인 CRUD(Create, Read, Update, Delete) 메서드를 포함하고 있습니다. 이렇게 JpaRepository를 상속받은 인터페이스를 스프링 빈으로 등록하면, 스프링이 자동으로 해당 인터페이스에 대한 구현 클래스를 생성하고 빈으로 등록해줍니다.
JpaRepository에 있는 Member와 Long은 제네릭 타입으로, 제네릭 타입으로 지정한 엔티티 클래스와 엔티티의 ID 타입을 의미합니다. 예를 들어, JpaRepository
마지막으로, MemberRepository는 SpringDataJpaMemberRepository 인터페이스가 상속하는 인터페이스로써, JpaRepository에서 제공하는 기본적인 CRUD 메서드 외에도 추가적인 메서드를 정의할 수 있습니다. 이렇게 작성된 메서드들은 JpaRepository의 기능과 함께 사용할 수 있어 편리하게 데이터베이스 조작을 할 수 있습니다.
더 자세한 내용은 Spring Data JPA 공식 문서를 참고하시면 도움이 될 것입니다. 감사합니다.