묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 배치
ItemReaderAdapter에 관해
수업중에 ItemReaderAdapter에서 계속 CustomService를 호출하여 무한반복되는데 왜그러는건가요??
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 데이터베이스 생성이 안됩니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]cd ~ls -alrth 하는데 없어요아. 1.4.199 버전으로 다시 설치하니 됩니다ㅎ...
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
Enum 관련하여 질문 드립니다.
Book Model에서 type을 String으로 지정해 주었는데, Test Code에서 isEqualTo("COMPUTER") 라고 하면 테스트가 실패합니다.출력을 보니 String이 아닌 듯 한데, 그럼 어떤 타입인 것인지 궁금합니다!Spring에서는 Enum으로만 다루고, DB에만 String으로 저장되는 것인가요?좋은 강의 감사드립니다 !
-
미해결토비의 스프링 부트 - 이해와 원리
강의 수강 상황 초기화 부탁드립니다.
강의를 제가 빠르게 넘겨가면서 훑다가 수료증이 나와버렸는데요.이 강의를 처음부터 제대로 수강하고 수료증을 새로 받고 싶습니다.부탁드리겠습니다~
-
미해결스프링 배치
Job 강의가 실행이 안됩니다!
섹션3 스프링 배치 도메인의 이해에 있는 Job 강의가 실행이 안되고 무한로딩으로 되는데 확인가능할까요??
-
미해결토비의 스프링 부트 - 이해와 원리
HelloRepositoryTest의 오류...
안녕하세요 강사님!강의 거의 막바지를 달려가고있네요 좋은강의 감사합니다! 다른게아니고 HelloRepositoryTest를 돌리는데 expected: null but was: tobyspring.helloboot.Hello@5546e754org.opentest4j.AssertionFailedError: expected: null but was: tobyspring.helloboot.Hello@5546e754 at java.base@11/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base@11/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base@11/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at app//tobyspring.helloboot.HelloRepositoryTest.findHelloFailed(HelloRepositoryTest.java:17) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base@11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@11/java.lang.reflect.Method.invoke(Method.java:566) at app//org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725) at app//org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) at app//org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) at app//org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) at app//org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) at app//org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) at app//org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135) at app//org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base@11/java.util.ArrayList.forEach(ArrayList.java:1540) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at java.base@11/java.util.ArrayList.forEach(ArrayList.java:1540) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at app//org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35) at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at app//org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:99) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79) at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75) at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:62) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base@11/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base@11/java.lang.reflect.Method.invoke(Method.java:566) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36) at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24) at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94) at com.sun.proxy.$Proxy2.stop(Unknown Source) at org.gradle.api.internal.tasks.testing.worker.TestWorker$3.run(TestWorker.java:193) at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100) at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60) at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:113) at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:65) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74) 이런에러가나서요 package tobyspring.helloboot;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.jdbc.core.JdbcTemplate;import static org.assertj.core.api.Assertions.assertThat;@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE)public class HelloRepositoryTest {@Autowired JdbcTemplate jdbcTemplate; @Autowired HelloRepository helloRepository; @Test void findHelloFailed(){assertThat(helloRepository.findHello("Toby")).isNull(); }@Test void increaseCount(){assertThat(helloRepository.countOf("Toby")).isEqualTo(0); helloRepository.increaseCount("Toby"); assertThat(helloRepository.countOf("Toby")).isEqualTo(1); helloRepository.increaseCount("Toby"); assertThat(helloRepository.countOf("Toby")).isEqualTo(2); }}이건 제 코드입니다 어디서 오류가났는지를 모르겠습니다...
-
미해결스프링 배치
partitionStep의 itemReader에 관하여
안녕하세요.! 대용량 배치를 개발하기 위해파티션스텝을 이용하여 개발중입니다.파티션 메인스텝에 워커 스텝을 지정하고실행하였는데요.Thread1의 itemReader가 1만건의 데이터를 fetch하는 동안Thread2의 itemReader는 Thread1의 itemReader의 fetch가 끝날때까지 기다리는건가요??제가 기대한 로그는Thread1 : result set row 100Thread2 : result set row 100Thread1 : result set row 200Thread2 : result set row 200동시에 스레드가 실행되어 위와 같이 병렬적으로 itemreader가 수행되어야 한다고 생각하는데실제 로그는Thread1 : result set row 100Thread1 : result set row 200Thread2 : result set row 100Thread2 : result set row 200위와 같이 Thread1의 itemreader가 끝이 나야 Thread2의 itemreader가 동작하는것 같습니다...제 생각이 맞을까요? 맞다면 왜 실제로그는 동기적인 방식으로 되는지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
9:56 경 "JSON의 루트는 배열로 해서는 안된다." 에 대한 질문
안녕하세요! JSON과 배열에 대해 질문드립니다!9:56 경에, 영한님께서 "JSON의 루트는 배열로 해서는 안된다."라고 언급해주셨습니다. 이것은 혹시, 클라이언트 쪽에서 해당 배열에 접근할 수 있는 방법이 없어서이기 때문일까요..?확인해주셔서 감사드립니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
setter말고 @Bulider사용시 연관관계 메서드
예를들어 Order클래스에서 setMember을 대신해 @Builer사용시에는 이렇게 작성하는게 맞을까요?@Builder private Order(Member member, Delivery delivery, List<OrderItem> orderItems,LocalDateTime orderDate,OrderStatus status){ this.member = member; this.delivery = delivery; this.orderItems = orderItems; this.orderDate = orderDate; this.status = status; if (member != null) { member.getOrders().add(this); } }
-
미해결스프링 배치
배치데이터가 쌓였을 때 속도 문제
안녕하세요 선생님강의 듣고 프로그램 배포해서 잘 운영하고 있습니다.다름이 아니라 운영중에 데이터가 점차 쌓이면서데이터가 많아지니 배치 속도가 조금씩 느려지더라고요.아직 운영에 큰 이슈는 없지만 나중에는 문제가 될 수도 있겠다 싶어 질문드립니다.보통 이런 경우에는 어떤 방법으로 속도를 개선 하는지 궁금합니다. 당장 생각 나는 방법이 오래된 날짜의 데이터는 지우는 방법인데BATCH_JOB_EXECUTION 의 CREATE_TIME을 기준으로 지우려고 합니다.메모리에 JOB_INSTANCE_ID를 저장하지 않고 처리 하려면데이터 삭제 순서가 BATCH_JOB_INSTANCE 테이블이 먼저가 되는 상황이 되는데외래키를 지우고 배치 프로그램을 운영해도 문제가 되지 않을지 궁금합니다.쿼리DELETE FROM BATCH_JOB_INSTANCE WHERE JOB_INSTANCE_ID IN (SELECT DISTINCT JOB_INSTANCE_ID FROM BATCH_JOB_EXECUTION) 진행중인 프로젝트에 바로 사용한다고시간이 없어 급하게 띄엄띄엄 들어서 못들은 강의가 많습니다.혹시나 강의에 언급하신 내용이라면 죄송합니다. 훌륭한 강의 덕분에 프로젝트 무사히 완료 할 수 있었습니다.감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
java.lang.IllegalArgumentException: Unresolvable class definition for class
섹션 6. 스프링 DB 접근 기술의 순수 JDBC 강의 수강 중, 코드 작성 후 16분에 재기동을 하는데 다음과 같은 오류가 떠 원인과 해결 방법을 질문합니다. 윈도우 회사 PC로 실습 중이며, h2 db는 권한 없음으로 bat 파일 기동되지 않아 javaw -jar h2-1.4.200.jar 명령어로 기동했습니다. 해당 명령어로 기동 시 http://192.168.70.178:8082/login.jsp?jsessionid=5137fb26224e404a43f0ac762325f8d5 주소로 접속됩니다.2023-05-09 16:53:54.867 ERROR 17292 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedjava.lang.IllegalArgumentException: Unresolvable class definition for class [org.springframework.boot.devtools.autoconfigure.DevToolsDataSourceAutoConfiguration$DatabaseShutdownExecutorEntityManagerFactoryDependsOnPostProcessor] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:331) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.TypeMappedAnnotation.adapt(TypeMappedAnnotation.java:474) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.TypeMappedAnnotation.getValue(TypeMappedAnnotation.java:397) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.TypeMappedAnnotation.asMap(TypeMappedAnnotation.java:283) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.annotation.AbstractMergedAnnotation.asAnnotationAttributes(AbstractMergedAnnotation.java:193) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.type.AnnotatedTypeMetadata.getAnnotationAttributes(AnnotatedTypeMetadata.java:106) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.core.type.AnnotatedTypeMetadata.getAnnotationAttributes(AnnotatedTypeMetadata.java:81) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.context.annotation.AnnotationConfigUtils.attributesFor(AnnotationConfigUtils.java:285) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:103) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:82) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.registerBeanDefinitionForImportedConfigurationClass(ConfigurationClassBeanDefinitionReader.java:169) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:150) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:748) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.27.jar:5.3.27] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.11.jar:2.7.11] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.11.jar:2.7.11] at juney.juneyspring.JuneySpringApplication.main(JuneySpringApplication.java:10) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.2.10.RELEASE.jar:2.2.10.RELEASE]Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/autoconfigure/data/jpa/EntityManagerFactoryDependsOnPostProcessor at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na] at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:144) ~[spring-boot-devtools-2.2.10.RELEASE.jar:2.2.10.RELEASE] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] at java.base/java.lang.Class.forName0(Native Method) ~[na:na] at java.base/java.lang.Class.forName(Class.java:398) ~[na:na] at org.springframework.util.ClassUtils.forName(ClassUtils.java:284) ~[spring-core-5.3.27.jar:5.3.27] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:324) ~[spring-core-5.3.27.jar:5.3.27] ... 30 common frames omittedCaused by: java.lang.ClassNotFoundException: org.springframework.boot.autoconfigure.data.jpa.EntityManagerFactoryDependsOnPostProcessor at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] ... 45 common frames omittedProcess finished with exit code 0
-
미해결실전! 스프링 데이터 JPA
member 테이블에 member!!!!!!!!!이 안나옵니다.
member 에 저장된 데이터가 없습빈다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 매소드 양방향 관계
양방향으로 관계가 어떤 경우일까요? 1대다, 다대다 이런 경우를 말하는건가요? 연관관계 메서드가, 객체를 생성하고 값을 셋팅할때 한개라도 빼먹는 경우가 있어서 간편하게 하려고 두개를 묶어서 나타내는 것이라고 생각하면 맞나요? 강의 25분 9초에서 연관 관계 메서드를 왜 적어줘야 하는지 잘 모르겠습니다. 그러니까, order라는 엔티티를 만든 곳에 member객체를 필드명 member 와 구별하기 위해 this.member = member 하면서 셋팅을 하고, member.getOrders().add(this) 즉, 회원 주문에 회원이름을 넣어주고? 이거를 여기에 기본적으로 셋팅해주는 이유가 뭔가요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
http://localhost:8080/hello 에서 에러가 나네요
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용] 몇 번을 확인했는데 에러가 나서 찾기가 어렵네요도움 부탁드립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
build 오류 발생 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 강의 잘 듣고 있습니다.cmd에서 선생님과 동일하게 build 명령어 입력했는데 실행 할 수 없다고 떠서 문의 드립니다.관리자 모드 cmd에서도 동일한 증상인데 무엇이 문제일까요..?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
6분28 초 카테고리 부모와 자식
@ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>();부모와 자식을 이렇게 설정해준다는데,부모를 Many To One자식을 One To Many 로 해주는게 이해가 안갑니다.왜 이렇게 연관관계를 설정해 줘야 하는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Embeded 값 타입이 Delivery 에만 생성되고, Member 에는 생성이 안됩니다.
Address.javapackage jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.Embeddable; @Embeddable @Getter public class Address { private String city; private String street; private String zipcode; protected Address() { } public Address(String city, String street, String zipcode) { this.city = city; this.street = street; this.zipcode = zipcode; } } Member.javapackage jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import org.apache.tomcat.jni.Address; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; @Embedded private Address address; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<>(); } Delivery.javapackage jpabook.jpashop.domain; import javax.persistence.*; @Entity public class Delivery { @Id @GeneratedValue @Column(name = "delivery_id") private Long id; @OneToOne(fetch = FetchType.LAZY, mappedBy = "delivery") private Order order; @Embedded private Address address; @Enumerated(EnumType.STRING) private DeliveryStatus status; // ENUM [READY(준비), COMP(배송) } 코드는 위와 같습니다. 질문란에 검색을 해보니 과거에 저랑 완전히 똑같은 증상이 있으셨던 분이 질문 글을 남겨놓았더군요. 내용에 Member 테이블을 삭제한 후 다시 빌드한 뒤에 실행한 뒤 정상 작동했다고 확인했습니다. 저같은 경우는 어쩐 연유인지 테이블을 삭제하고 다시 실행해봐도 되지가 않아서 따로 문의드립니다. 🙏
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의3분13초_중간테이블
category와 item 은 서로 다대다 관계인데, 관계형 db는 다대다관계인경우 중간테이블을 설정해야 해서 category_item테이블이 온다 라고 이해하면 될까요?앞으로 추후 플젝 할때 다대다 관계이면 무조건 중간테이블을 설정해야지만 정상작동을 하는건지도 궁금해요
-
해결됨스프링 시큐리티
Intellij git branch 하이라이팅 방법
안녕하세요. 강의 잘 듣고 있습니다. 세션 4 강의 내용을 보고 있는데.. 선생님 intellij 왼쪽 상단에 git branch 가 highlighting 되어 분홍색(?) 으로 표시되는 신기한 걸 봤네요. 이거 어떻게 하는 건가요? 좋은 기능 같아서요. plugin 이면 어떤 plugin 을 설치해야 되는지 알려주실 수 있는지요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
templates html 실행
현재 IDE은 이클립스 사용중입니다.내용은 모두 강의와 동일하고, 아래와 같이 html파일들을 위치시켰을 때, static에 저장된 index.html은 실행이 잘되는 반면에 templates에 저장된 hello.html과 hello-template.html은 가져오지 못하고 whitelabel error page 로 연결되는 오류가 발생합니다.어떤 부분이 잘못되었는지 확인해봐야 하나요?