월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
02:20
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 02:20 에서 Getmapping 이 아닌 RequestMapping 으로 하는 이유가 있을까요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
HttpServletRequestWrapper 문의드립니다.
안녕하세요 정말로 궁금한 부분이 있어서 문의 드려요 public class ReadableRequestWrapper extends HttpServletRequestWrapper 이렇게 클래스를 만들고필터에 걸어두었습니다. 이렇게 상속을 받고 reqeuest.getInputStream() 를 사용해도 계속 사용이 되게끔 만들고 있는데요 ... 이상황에서 @RequestParam("file") MultipartFile file 을 하면 파라미터에 널값으로 자꾸 떨어져서요... 어떻게 처리를 해야할지를 모르겟어요 ... 감사합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]아래 질문글 보다가 질문이 생겨서 글 남깁니다.스프링 데이터 JPA를 이해하기 위해서 repository 를 생성하는 실습을 진행하는 중이라고 하셨는데 그럼 이 강의 마지막 부분에 스프링 데이터 JPA를 사용하는 법이 나오나요? 이 강의가 아니라면 다른 강의에 있을까요? 실무에서 "스프링 데이터 JPA"를 주로 사용하는지, 아니면 김영한님 수업의 repository 과정까지 필요한지 궁금합니다. 감사합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]다른 강의들과는 다르게 MemberRepository interface 를 생성하지 않고 바로 class 만 이용해서 하셨는데 이유가 있을까요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실무에선 @Setter를 안쓰는게 맞다고 하셨는데
그렇다면 set이 되는 매서드를 직접 만들어서 사용하는 건가요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
order 클래스의 생성매서드에서
createOrder 매서드를 static으로 생성하신 이유가 궁금합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]어떤 매소드 는 public, 어떤 class는 private 으로 생성하는데 그 기준이 궁금합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]개발 순서가 궁금합니다. 우선 JPA 를 이용해서 DB 에 연결을 한 후 repository를 만드는 과정이 일반적인가요?아니면 repository를 만들고 이를 DB 에 연결하는 과정이 일반적인가요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
7분 49초
저는 table 이 생성되었다는 로그가 찍히지 않습니다.table 생성은 DB에 가보니 잘 되어 있고요인텔리제이 설정 문제인가요? 그리고 h2 db 에 접근 할때 앞에 주소를 localhost 로 변경해주는 이유는 무엇인가요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
item
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]item 을 추상 클래스로 만든 이유가 뭘까요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트를 돌렸는데 내용이 잘 안나와요
로그 출력이 안되고 이렇게만 나옵니다 왜그럴까요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
home.html 경로 질문 드립니다.
2023-01-12 17:00:27.226 ERROR 15060 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/home.html]")] with root cause루트가 문제가 있다고 떠서 질문을 올립니다처음에는 yml 수정 해보고, home controller 연동 여부도 확인해보았습니다만, error를 찾지 못해 질문 드립니다. 혹시 몰라 구글 드라이브 링크 남깁니다.감사합니다. https://drive.google.com/file/d/1aAIIuqV8JOKuRIMVN7QSXBRVpJhJFVFv/view?usp=share_link
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]아래 두 가지 방식의 연결 방식 차이가 궁금합니다jdbc:h2:~/jpashopjdbc:h2:tcp://localhost/~/jpashop
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 4학년 복학을 위해 공부중인 학생입니다.스프링 입문, HTTP, 기본, mvc 강의 까지 들었습니다.실전 스프링 부트 1강의를 들으려고 하는데 무리는 없을까요?강의를 들으며 개인 프로젝트 ( 연습용) 을 병행하는 게 나을지 강의를 집중해서 들은 후 개인 프로젝트를 해볼지 고민입니다. 갑사합니다.
- 해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 Database 사용 에러 질문드립니다.
안녕하세요. 강의 정말 잘 듣고 있습니다. MVC나 부트 JPA 모두 정말 좋은 강의 감사드려요 커뮤니티에 글을 올리게 된 이유는.. 일단 부트 JPA 실전 1편 강의를 다 들었고 그동안H2 Database를 잘 사용하였는데요, 그 다음 과정으로는 JPA 기본편을 들었고이 때에는 뭐가 문제인지 H2 Database가 작동은 하는데, 실전 1편에서 생성한 테이블들이삭제도 안되고 뭔가 락이 걸려있는것처럼 그래서 기본편 듣는동안은 테이블명을 일부러기존에 Member가 있으니 Member1 이런식으로 만들어서 진행했었구요그다음에 이제 다시 실전1편에서 사용한 프로젝트로 돌아와서, 처음부터 다 지우고관계설정같은거 다 스스로 코드 짜서 이제 Test코드 딱 돌렸는데. 테스트는 성공하는데DB에 반영이 아예 안되더라구요심지어 그 프로젝트는 H2 Database를 꺼놔도 OK가 되고, yml에 있는거 다 지워버려도Test가 성공되는데 희한한건 Member join을 한 만큼 findAll()로 조회는 또 되더라구요이게 도대체 무슨 상황인지 살짝 멘붕이 왔지만 그냥 안되겠다 셈 치고 다시 실전 1편 첫 설정대로 프로젝트를 새로 생성하고 H2 Database도 다시 깔았습니다.근데 이번에는 아래처럼 오류가 엄청 나고 있어요gradle은 강의자료에 있는거 그대로 복사했고, yml파일도 띄어쓰기도 꼼꼼히 확인했습니다.지금 약 4시간정도 삽질했는데. 기존 프로젝트 다 날리고 다시 시작해도 좋으니해결방법을 알고싶습니다. ㅜㅜ H2 Database가 싫어질 지경이에요 부탁드립니다!! org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:752) ~[spring-tx-5.3.2.jar:5.3.2] at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) ~[spring-tx-5.3.2.jar:5.3.2] at org.springframework.test.context.transaction.TransactionContext.endTransaction(TransactionContext.java:131) ~[spring-test-5.3.2.jar:5.3.2] at org.springframework.test.context.transaction.TransactionalTestExecutionListener.afterTestMethod(TransactionalTestExecutionListener.java:255) ~[spring-test-5.3.2.jar:5.3.2] at org.springframework.test.context.TestContextManager.afterTestMethod(TestContextManager.java:441) ~[spring-test-5.3.2.jar:5.3.2] at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:94) ~[spring-test-5.3.2.jar:5.3.2] at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) ~[spring-test-5.3.2.jar:5.3.2] at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) ~[spring-test-5.3.2.jar:5.3.2] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) ~[spring-test-5.3.2.jar:5.3.2] at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) ~[spring-test-5.3.2.jar:5.3.2] at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) ~[spring-test-5.3.2.jar:5.3.2] at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) ~[junit-4.13.1.jar:4.13.1] at org.junit.runners.ParentRunner.run(ParentRunner.java:413) ~[junit-4.13.1.jar:4.13.1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) ~[spring-test-5.3.2.jar:5.3.2] at org.junit.runner.JUnitCore.run(JUnitCore.java:137) ~[junit-4.13.1.jar:4.13.1] at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69) ~[junit-rt.jar:na] at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38) ~[junit-rt.jar:na] at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11) ~[idea_rt.jar:na] at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35) ~[junit-rt.jar:na] at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235) ~[junit-rt.jar:na] at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54) ~[junit-rt.jar:na]org.springframework.dao.InvalidDataAccessApiUsageException: Unknown entity: jpabook.Member; nested exception is java.lang.IllegalArgumentException: Unknown entity: jpabook.Member at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:374) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691) at jpabook.jpashoppp.MemberRepository$$EnhancerBySpringCGLIB$$eec81b23.save(<generated>) at jpabook.jpashoppp.MemberRepositoryTest.testMember(MemberRepositoryTest.java:31) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) 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:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)Caused by: java.lang.IllegalArgumentException: Unknown entity: jpabook.Member at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:723) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:706) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311) at com.sun.proxy.$Proxy82.persist(Unknown Source) at jpabook.jpashoppp.MemberRepository.save(MemberRepository.java:15) at jpabook.jpashoppp.MemberRepository$$FastClassBySpringCGLIB$$7fc32dcb.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 38 moreorg.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:752) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:711) at org.springframework.test.context.transaction.TransactionContext.endTransaction(TransactionContext.java:131) at org.springframework.test.context.transaction.TransactionalTestExecutionListener.afterTestMethod(TransactionalTestExecutionListener.java:255) at org.springframework.test.context.TestContextManager.afterTestMethod(TestContextManager.java:441) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:94) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251) 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:235) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)2023-01-11 18:40:06.250 INFO 11976 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'2023-01-11 18:40:06.251 INFO 11976 --- [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2023-01-11 18:40:06.254 INFO 11976 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-01-11 18:40:06.272 INFO 11976 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.Process finished with exit code -1
- 해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
상품주문_재고수량초과
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]아무리 생각해봐도 이해가 안되서 질문합니다ㅠㅠ상품주문_재고수량초과 에서 book의 stockQuantity를 10으로 설정했는데 왜 orderCount가 10 이하일 때 에러가 나고 10 초과일 때 에러가 안나는 건가요?removeStock() 에서 10 - 9 > 0 이니 NotEnoughStockException 이 발생되지 않아서 //then 부분까지 넘어와서 에러가 뜨는건가요?재고 수량이 초과됐을 때 에러가 나야 될 거 같은 느낌이 들어서 이상합니다ㅠㅠ
- 해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 편의 메서드 질문 입니다.
연관관계 편의 메서드가 아래와 같은 상황에서 사용되는 것이 맞는지 궁금해서 질문드립니다. Project, Client 클래스가 서로1 대 다, 다 대 1 관계라고 했을 때 Project를 등록할 때 Client가 필요하기 때문에Project 쪽에이런 식으로 연관관계 편의 메서드를 작성해 주고 아래와 같이 Project의 createProject2 메서드를 이용하여 등록해준다고 하면 Project 쪽에서 작성해둔 연관관계 편의 메서드를 아래와 같이 사용하는 게 맞는 사용 방법인가요?
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
H2 jdbc url
안녕하세요 강의를 듣던 중 h2 db와 연결이 정상적으로 되지 않는 것 같아 질문 남깁니다.기존에는 1. h2.bat을 실행시키고, 2. 웹 브라우저 ip 주소를 localhost로 변경하고 3. db파일을 생성하기 위해 JDBC URL에 jdbc:h2:~/jpashop과 같이 입력하면 c드라이브 사용자 폴더에 jpashop.mv.db 파일이 정상적으로 생성 됐었습니다근데 인텔리제이를 community버전에서 ultimate 버전으로 바꾸면서 뭔가 변동이 생긴 것인지(단순 추정입니다), 현재는 위와 같은 방식으로 진행해도 db파일이 생성되지 않고 Database "C:/Users/LG/jpashop" not found, either pre-create it or allow remote database creation (not recommended in secure environments) 과 같은 에러 메시지를 출력하는 것을 볼 수 있었습니다.따라서 다른 질문을 참조해보니, https://www.evernote.com/shard/s568/client/snv?noteGuid=fb1f3c6b-e985-e08f-4523-a34e523406e4¬eKey=e3976a810c1854c90695f9cddf1ab7bf&sn=https%3A%2F%2Fwww.evernote.com%2Fshard%2Fs568%2Fsh%2Ffb1f3c6b-e985-e08f-4523-a34e523406e4%2Fe3976a810c1854c90695f9cddf1ab7bf&title=H2%2B%25EB%258D%25B0%25EC%259D%25B4%25ED%2584%25B0%25EB%25B2%25A0%25EC%259D%25B4%25EC%258A%25A4%2B%25EC%2583%259D%25EC%2584%25B1%2B%25EB%25B0%25A9%25EB%25B2%2595%2528%25EC%259C%2588%25EB%258F%2584%25EC%259A%25B0%2529 링크를 확인할 수 있었고 h2에서 db파일을 따로 생성하여 작동에는 성공하였습니다.헌데, h2에서 db파일을 따로 생성하게 되면 trace.db 파일도 생성되고, 비밀번호도 설정해주고 yml에도 설정해줘야 하는 등 추가적인 작업이 있는 것을 확인할 수 있었습니다. 물론 별거 아닌 것들이지만, 기존에 쓰던 방식이 훨씬 편리한 것 같아 기존 방식(H2 콘솔의 JDBC URL 란을 통해 db파일을 생성)으로 돌아갈 수 있는 방법을 여쭙고 싶습니다.에러 로그로 확인해 봤을 때 allow remote database creation을 해주면 될 것 같은데, 이에 대해 질의드리고자 합니다.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
member테이블 생성.강의-JPA와 DB 설정, 동작확인
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. ->여기에 member 테이블이 생성이 안돼요. memberRepository-> Download https://repo.maven.apache.org/maven2/org/projectlombok/lombok/1.18.22/lombok-1.18.22.pom, took 721 ms (1.48 kB)Download https://repo.maven.apache.org/maven2/org/projectlombok/lombok/1.18.22/lombok-1.18.22.jar, took 1 s 605 ms (1.95 MB)> Task :compileJava> Task :processResources UP-TO-DATE> Task :classes> Task :compileTestJava UP-TO-DATE> Task :processTestResources NO-SOURCE> Task :testClasses UP-TO-DATE> Task :test06:07:24.485 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [MemberRepositoryTest]: using SpringBootContextLoader06:07:24.497 [Test worker] DEBUG org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [jpabook.jpashop.MemberRepositoryTest]: no resource found for suffixes {-context.xml, Context.groovy}.06:07:24.499 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [jpabook.jpashop.MemberRepositoryTest]: MemberRepositoryTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.06:07:24.552 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using ContextCustomizers for test class [MemberRepositoryTest]: [DisableObservabilityContextCustomizer, PropertyMappingContextCustomizer, Customizer, ExcludeFilterContextCustomizer, DuplicateJsonObjectContextCustomizer, MockitoContextCustomizer, TestRestTemplateContextCustomizer]06:07:24.654 [Test worker] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [C:\jpashop\build\classes\java\main\jpabook\jpashop\JpashopApplication.class]06:07:24.659 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.MemberRepositoryTest06:07:24.770 [Test worker] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners for test class [MemberRepositoryTest]: [ServletTestExecutionListener, DirtiesContextBeforeModesTestExecutionListener, ApplicationEventsTestExecutionListener, MockitoTestExecutionListener, DependencyInjectionTestExecutionListener, DirtiesContextTestExecutionListener, TransactionalTestExecutionListener, SqlScriptsTestExecutionListener, EventPublishingTestExecutionListener, RestDocsTestExecutionListener, MockRestServiceServerResetTestExecutionListener, MockMvcPrintOnlyOnFailureTestExecutionListener, WebDriverTestExecutionListener, MockWebServiceServerTestExecutionListener, ResetMocksTestExecutionListener]06:07:24.772 [Test worker] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: class [MemberRepositoryTest], class annotated with @DirtiesContext [false] with mode [null] . ____ _ /\\ / ___'_ __ (_)_ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.0.1)2023-01-10T06:07:25.056+09:00 INFO 7064 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Starting MemberRepositoryTest using Java 17.0.5 with PID 7064 (started by PC in C:\jpashop)2023-01-10T06:07:25.057+09:00 INFO 7064 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : No active profile set, falling back to 1 default profile: "default"2023-01-10T06:07:25.773+09:00 INFO 7064 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2023-01-10T06:07:25.801+09:00 INFO 7064 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 16 ms. Found 0 JPA repository interfaces.2023-01-10T06:07:26.337+09:00 INFO 7064 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2023-01-10T06:07:26.672+09:00 INFO 7064 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:mem:fa15755d-1779-4e39-8761-6f8666e6b6b0 user=SA2023-01-10T06:07:26.675+09:00 INFO 7064 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2023-01-10T06:07:26.741+09:00 INFO 7064 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2023-01-10T06:07:26.833+09:00 INFO 7064 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.1.6.Final2023-01-10T06:07:27.138+09:00 WARN 7064 --- [ Test worker] org.hibernate.orm.deprecation : HHH90000021: Encountered deprecated setting [javax.persistence.sharedCache.mode], use [jakarta.persistence.sharedCache.mode] instead2023-01-10T06:07:27.378+09:00 INFO 7064 --- [ Test worker] SQL dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect2023-01-10T06:07:28.468+09:00 INFO 7064 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]2023-01-10T06:07:28.487+09:00 INFO 7064 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'2023-01-10T06:07:28.768+09:00 WARN 7064 --- [ Test worker] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning2023-01-10T06:07:29.060+09:00 INFO 7064 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2023-01-10T06:07:29.360+09:00 INFO 7064 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 4.529 seconds (process running for 6.173)2023-01-10T06:07:29.899+09:00 INFO 7064 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2023-01-10T06:07:29.899+09:00 INFO 7064 --- [ionShutdownHook] .SchemaDropperImpl$DelayedDropActionImpl : HHH000477: Starting delayed evictData of schema as part of SessionFactory shut-down'2023-01-10T06:07:29.902+09:00 INFO 7064 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2023-01-10T06:07:29.905+09:00 INFO 7064 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.BUILD SUCCESSFUL in 12s4 actionable tasks: 2 executed, 2 up-to-date오전 6:07:30: Execution finished ':test --tests "jpabook.jpashop.MemberRepositoryTest"'.
- 미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
@Transactinal 관련 질문
안녕하세요, @Transactinal 어노테이션 관련 질문드립니다. 테스트 코드에서 작성한 @Transactinal은 자동으로 RollBack을 시켜서 false 로 해당 기능을 끄고 직접 확인이 가능하다고 했는데, 서비스단에서 사용할때는 해당 코드를 작성하지 않아도 RollBack이 안되는 이유가 있을까요?