묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA의 엔티티와 값타입 구분.
안녕하세요. JPA를 수강하고 '도메인 주도 개발 시작하기'라는 책을 읽었는데요.궁금한 점이 생겨 글을 남기게 되었습니다.JPA의 엔티티와 값 타입에 대해 읽게 되었는데요.애그리거트[루트 앤테티]를 뺀 나머지는 구성 요서는 대부분 밸류이다. 라고 하여 라이프 사이클이 다르면 루트 엔티티로 해야 되고, 같으면 @Embeddable 애너 테이션을 사용하여 값 타입으로 구현해야 된다고 보았습니다. 강의에서는 주소를 구현할 때 잠시 사용하였던 걸로 기억하는데, 어떤 게 맞는지 궁금하여 글을 남기게 되었습니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
저도 회원조회에서 막히네요ㅠㅠ
잘되다가 등록 후 조회에서 막히네요ㅠㅠ부탁드립니다...!!https://drive.google.com/drive/folders/1_dcicJUyawOjH4ZO4kd7Tq8REtaDwU6O?usp=drive_link
-
미해결스프링 시큐리티
SecurityContext 의 clear시점이 궁금합니다.
강의를 듣다가 궁금한점이 생겨 이렇게 질문 드립니다.SecurityContextPersistenceFilter에서 클라이언트의 최종 요청이 끝나면 SecurityContext를 클리어한다고 알고 있습니다.거기서 클라이언트의 최종요청 이라는것이 SecurityContext는 세션에 저장되어 있으니 세션만료 될때까지는 존재 하는것인지 아니면 요청이다보니 하나의 컨트롤러에서 하나의 작업을 수행 후 리턴해주고 끝났을때 마다 SecurityContext 를 클리어해주고 새로운 요청이오면 다시 만드는 것인지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MySql 대신 오라클로 연동 시 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]순수JDBC 강의 15분~16분 실행(등록) 시 오류 발생.(이름 입력 - 등록 - 에러발생)*DB에는 insert 되어있음**페이지 에러명 : Whitelabel Error Page , (type=Internal Server Error, status=500). 영한님 강의에서는 id를 Long 타입으로 하시고create table을 bigint로 하셨어요. 저는 오라클DB를 쓰기 때문에Long 타입을 모두 int 타입으로 변환하였고,create table 또한 id필드를 number로 생성하였습니다.회원가입(등록) 시, DB에 insert는 되나에러가 뜨면서 콘솔창에 아래와 같은 오류가 뜹니다. java.sql.SQLException: 부적합한 열 유형: getInt not implemented for class oracle.jdbc.driver.T4CRowidAccessor 오류발생 지점을 보면,@Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getInt(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); }member.setId(rs.getInt(1));위 행에서 오류가 발생하는 것으로 확인됩니다. DB에는 insert 되어있는데무엇이 문제인지 모르겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPQL로 엔티티를 조회해오는 경우에는 준영속 상태인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.EntityManager의 em.find() 메서드로 조회해온 엔티티는 영속 상태의 엔티티이고, 이것이 아닌 em.createQuery()로 조회해 오는 경우는 준영속 상태인가요? 보니까 JPQL로 조회해온 엔티티의 경우에는 더티 체킹이 일어나지 않는 것 같습니다. 혹시 제가 제대로 이해한 것이 맞을까요?
-
미해결스프링 부트 - 핵심 원리와 활용
webapps 폴더의 html 파일을 인식하지 못하는것 같습니다.
server 프로젝트 톰켓 연결해서 실행하니깐 서블릿은 동작하는데 index.html 파일은 "HTTP 상태 404 – 찾을 수 없음" 이라고 뜨네요.webapps 폴더에 다른 html 파일을 만들어 넣어도 동작하지 않아요..별도의 설정이 필요한 부분이 있을까요?
-
미해결스프링 시큐리티
CustomAuthenticationProvider 질문
CustomAuthenticationProvider를 작성한 이후, SecurityConfig를 등록할 때 Adapter를 쓰지 않았을 경우 어떻게 등록하는지 알고 싶습니다.Adapter를 찾아보니 deprecated되어서 사용하지 않고 filterChain을 사용했을 때 어떻게 등록해야한다 이런 정보가 없어서요.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
h2 db 연결 후 spring boot 에러
spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driverpackage hello.hellospring; import hello.hellospring.repository.JdbcMemberRepository; import hello.hellospring.repository.MemberRepository; import hello.hellospring.service.MemberService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class SpringConfig { private final DataSource dataSource; public SpringConfig(DataSource dataSource) { this.dataSource = dataSource; } @Bean public MemberService memberService() { return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository() { // return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } }h2 db에 잘 들어가지고, 코드도 강의 보면서 따라 작성하였는데회원 목록을 들어가거나 회원 등록을 하려고 하면 웹 페이지가 에러 뜹니다왜 이러는건가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원서비스 테스트 clearStore()관련 질문입니다
안녕하세요 회원 서비스 테스트 강의 듣다가 이해 안가는 부분이 있어서 질문드립니다12:11 에서MemoryMemberRepository memberRepository = new MemoryMemberReposiory(); 이 코드를 왜 작성해야하는지 이해가 안갑니다. clearStore()를 할거면 그냥 위에 적힌 memberService.memberRepository.clearStore(); 로 해도 같은 기능을 하는 코드가 아닌가요? 그리고 memberService.memberRepository를 사용하면 하나의 회원repository instance만 사용하므로 회원 서비스 코드를public class MemberService{ private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; } }위와 같이 작성하지 않아도 되는거 아닌지 궁금합니다
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
쿼리쪽 색상 변경
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]선생님처럼 이렇게 색상하려면 어떻게 해야하나요?폰트는 intellij darcula 사용중입니다 쿼리쪽 색상 따라하고 싶어요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Slf4j 모듈 찾기 오류
[질문 내용]여기에 질문 내용을 남겨주세요.이번에 인텔리제이를 처음 사용합니다.모듈안에서 찾을 수 없다고 해서 pom.xml에서 의존성을 선언하였습니다. 의존성을 선언해도 오류가 발생됩니다...(구글링을 통해 버전 확인을 해봤지만 찾지 못함)<질문 요약>1) Slf4j 버전 확인하는 법2) pom.xml 에서 dependcy가 밑줄 이유, 해결방법3) 의존성 선언을 하였지만 선언 실패감사합니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
카프카 네트워크 관련 에러
org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Error connecting to node f9ffc2ed14a4:9092 (id: 1001 rack: null)에러 메시지는 위와 같습니다.현재 m2 노트북을 사용하고 있어 호스트가 arm64 플랫폼입니다. arm64를 지원하는 주키퍼, 카프카 이미지를 설치하였습니다.도커 컴포즈 파일입니다.version: '2'services:zookeeper:image: docker.io/bitnami/zookeeper:3.8container_name: zookeeperports:- "2181:2181"environment:ZOOKEEPER_CLIENT_PORT: 2181ZOOKEEPER_TICK_TIME: 2000ALLOW_ANONYMOUS_LOGIN: yeskafka:image: docker.io/bitnami/kafka:3.4container_name: kafkaports:- "9092:9092"environment:KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181volumes:- /var/run/docker.sock:/var/run/docker.sock 나머지 코드는 동일합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
섹션1 마지막 강의 TEST 가 안 돌아갑니다..!
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)MemberRepositorytest이고application.yml 입니다. 아래와같이 오류가 계속 뜹니다.. 아무리 해도 해결이 안 됩니다 ㅜㅜㅜ 도와주실수있으신가요java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:124) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:190) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:132) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:248) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at org.junit.runners.ParentRunner.run(ParentRunner.java:413) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dbConnection' defined in jpabook.jpashop.dbConnection defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not a managed type: interface org.apache.catalina.User at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:936) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:921) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:136) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:141) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:90) ... 27 moreCaused by: java.lang.IllegalArgumentException: Not a managed type: interface org.apache.catalina.User at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:583) at org.hibernate.metamodel.internal.MetamodelImpl.managedType(MetamodelImpl.java:85) at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation.<init>(JpaMetamodelEntityInformation.java:75) at org.springframework.data.jpa.repository.support.JpaEntityInformationSupport.getEntityInformation(JpaEntityInformationSupport.java:66) at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getEntityInformation(JpaRepositoryFactory.java:233) at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:182) at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:165) at org.springframework.data.jpa.repository.support.JpaRepositoryFactory.getTargetRepository(JpaRepositoryFactory.java:76) at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:325) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:323) at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) at org.springframework.data.util.Lazy.get(Lazy.java:115) at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:329) at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:144) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ... 42 more
-
미해결실습으로 배우는 선착순 이벤트 시스템
nGrinder script
nGrinder test script도 혹시 공유가능하실까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관 관계 메서드에 관해 질문있습니다.
public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this); }강사님은 양방향 연결을 해서 연관관계 매서드 작성하셨는데 단방향 연결해서 orderItem에만 @ManyToOne 한 경우에는 어떻게 하나요? 아니면 다대다라서 중간테이블쓴경우에는 무조건 양방향 설정을 해야하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
~/test.mv.db 삭제 및 1.4.200 버전 재설치 후 실행 오류
최신 버전 설치 후에 강의노트를 나중에 보고 다시 설치했는데요. ~/test.mv.db 삭제했는데도, 버전 재설치 이후에 데이터베이스 파일 생성이 안 됩니다 ㅠ아이피가 문제인가 해서 localhost로 변경했는데도 안 되네요ㅠ 그런데 실행 시에 링크가 강사님꺼랑 다른 것 같은데 이게 문제일까요??http://localhost:8082/index.do?jsessionid=016c01f762758d1f2da3477997f381a2&language=ko강사님처럼 키가 안적혀있고 이런 링크로 연결되요..
-
미해결실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
패키지 구조에 대해서 궁금합니다!
안녕하세요 좋은 강의를 무료로 올려주셔서 정말 잘 보고있습니다.보여주신 패키지 구조가 헥사고날 패키지 구조에 기반 하셨다고 다른 글에서 말씀을 해주셨던 것을 봤습니다. 그럼 controller 를 넣게 된다면 port 에 in 폴더를 넣고 다시 나누는 작업을 하시나요? 그리고 실무에서도 Controller 없이 Service 에 바로 GetMapping 을 넣어도 괜찮을까요?감사합니다!
-
해결됨실전! 스프링 데이터 JPA
JpaRepository 구현 관련
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.SimpleJpaRepository가 처음에 생성될 때 entitymanager를 의존성 주입을 받아서 초기화가 됩니다.문제는 전에 강의에서 entitymanager는 트랜색션 하나당 하나를 생성해야 한다고 했던 것이 생각납니다. 문제는 이렇게 처음 초기화할 때 entitymanager를 주입받게되면 한 entitymanager를 스프링 프로그램이 끝날 때 까지 사용하게 되는데 문제가 없는건가요?https://jiwondev.tistory.com/225이런식으로 트랜색션이 끝나고 연결이 끝나도 entitymanager를 유지하면 문제가 생기지 않을까 생각되어 질문드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
create 함수의 매개변수 MemberForm 객체
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.MemberContoller 의 create 함수는 MemberForm 객체를 매개변수로 받는데 MemberForm 객체 이외의 다른 객체를 사용할 수 있는 지 궁금합니다.MemberForm 클래스는 MemberContorller와 같은 controller에 존재하는가요?MemberForm 클래스는 name 이외의 다른 프로퍼티가 있더라도 정상 작동하는 것인가요?MemberForm 클래스에 name 프로퍼티가 존재하지 않는다면 데이터는 MemberFrom에 남지않고 사라지는 것인가요? Addattribute와 비슷하게 MemberForm에 name 프로퍼티가 추가되는 것인가요create 함수에 들어오는 매개변수를 지정하지 않는 이유는 무엇인가요? 즉, 스프링이 객체도 생성해주고 setter를 통해서 프로퍼티에 값도 넣어줄 때 이전에 이 객체를 사용하겠다라고 명시하는 부분이 없는데 정상 동작하는 이유가 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
SpringDataJpaMemberRepository 인터페이스를 만들 때 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]솔직히 인터페이스 처음 설정에 대한 내용이 하나도 이해가 가질 않네요.. SpringDataJPA가 JpaRepository를 상속 받은 SpringDataJpaMemberRepository에 대한 구현체를 스프링 빈으로 등록해준다는 건 알겠는데, JpaRepository<Member, Long>에 있는 Member와 Long은 어떤 역할을 하기에 들어가는 것이며, 그 뒤에 함께 상속받는 MemberRespository는 어떤 역할을 하기위해 상속되는 건지 궁금합니다. 기초적인 질문을 드려 죄송합니다만, GPT도 설명을 제대로 안해주기에 정말 모르겠어서 이렇게 질문드립니다.