inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

h2 데이터베이스 오류

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 맥을 쓰고 있는데 h2 데이터베이스 접속이 안되고 이런 문구가 나와요.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
지우개 댓글 1 좋아요 0 조회수 697

TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼 1로 초기화

미해결

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

MySQL이나 H2 에서 TRUNCATE TABLE 시 AUTO_INCREMENT 컬럼값도 1로 초기화되는 걸로 알고 있습니다. 그런데 강의에서는 TRUNCATE 후 AUTO_INCREMENT 컬럼인 ID 를 1부터 다시 시작하게 하는 쿼리를 추가하셔서 어떤게 맞는건지 헷갈립니다 좋은 강의 감사합니다

  • tdd
  • spring-boot
  • pojo
  • 소프트웨어-테스트
  • api
pgrrr119 댓글 1 좋아요 2 조회수 3599

List로 만든 뒤 Map으로 변환시 메모리 사용

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. V5를 만들면서 List를 만든 뒤에 이것을 다시 Map으로 변환하셨는데 이럴 경우 메모리 사용량이 많아져 OOM이 발생하기 쉬울 수 있다고 생각했습니다. 제가 생각한게 맞을까요? 만약 맞다면 em에서 받아올때부터 stream으로 받아서 map으로 만들면 이러한 문제가 해결될까요?

  • java
  • spring
  • spring-boot
  • jpa
mustsave 댓글 1 좋아요 0 조회수 676

tomcat runner 에러

미해결

스프링 부트 - 핵심 원리와 활용

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요, 다른 분들도 겪으셨던 것 같은데 해결방안은 딱히 없는 것 같아서 다시 글 올립니다. 저도 tomcat runner를 edit configuration에서 추가하려고 하면 설정창이 안뜨고 먹통인 문제를 겪고 있습니다. (캡쳐는 다른분들이 올려주신 질문글과 동일.) 기존에 IntelliJ Edu를 쓰고 있었는데 tomcat runner가 검색이 되지 않아 community 버젼을 새로 깔았고 이때문에 idea는 완전 깨끗한 상태입니다; (당연히 캐시를 삭제해봐도 개선이 되지 않습니다. 환경은 아래와 같습니다. 소스코드: 강의제공 코드 자바 버전 : 17 (oracle jdk 17.0.7-macos-aarch64) OS : Mac (Apple M1 Ventura 13.2.1) 인텔리제이 커뮤니티 버전: 2023.1.1 캐시삭제 외에 시도할 수 있는게 있다면 알려주세요. 감사합니다.

  • spring
  • spring-boot
  • intellij
gahan1 댓글 1 좋아요 1 조회수 1112

./gradlew clean build 맥북 실패

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 정답 찾았습니다. 1.h2를 끄신 줄 알아서 껏는데 백그라운드로 돌리고 계신 거였습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
노나아 댓글 1 좋아요 1 조회수 503

섹션 4. Ajax 내용 중 front end / 리다이렉트 질문

해결됨

스프링 시큐리티

안녕하세요. 선생님. 섹션 4 Ajax 공부 중 궁금한 점이 있어서 질문 드립니다. 너무 궁금해요.. 선생님 꼭 답변 부탁드리겠습니다. 1. 7장 front end에서도 루트로 강제 redirect 시킨 것을 원래 가고자 했던 곳으로 redirect 되도록 구현 가능한지요? 7장에 login.htm 파일을 보면 로그인 성공 시 front end 에서 window.location = '/'; 로 루트 페이지로 강제 이동 시켰네요. FormAuthenticationSuccessHandler 처럼 RequestCache 이용하여 서버에서 이전에 가고자했던 곳으로 redirect 시키는 것 처럼.. front end 에서도 구현 가능한 방법이 있는지요? 2. 3장 내용의 서버 redirect 3장 인증필터 인증처리자 내용을 구동 시키면 4장 내용 AjaxAuthenticationSuccessHandler 를 구현하지 않았기 때문에 로그인에 성공하면 원래 가고자 했던 곳으로 redirect 302 응답을 서버에서 내려주네요. 그래서 ajax.http 에서 로그인을 시도하면 자동 redirect 가 되네요. 질문 1과 비교하여 front-end 에서 redirect 를 하는게 맞는지 서버에서 해주는게 맞는지 실무에서는 어떻게 구현하는지? 알고 싶습니다. 어떤게 더 좋은지.. 3. 서버에서 302 redirect 와 json 데이터 응답 4장 인증핸들러의 내용중 AjaxAuthenticationSuccessHandler 내용을 보면 redirect 페이지를 내려주는게 아니라 json 데이터를 내려주는데.. FormAuthenticationSuccessHandler 처럼 RequestCache 구현하여 302 redirect 응답과 json 데이터도 함께 내려주는게 가능한지요? 4. 위 내용 중 어느 구현이 실무에서 많이 사용하는 구현인지 알려주세요.

  • java
  • spring-boot
  • spring-security
김현진 댓글 1 좋아요 0 조회수 639

ItemReaderAdapter에 관해

해결됨

스프링 배치

수업중에 ItemReaderAdapter에서 계속 CustomService를 호출하여 무한반복되는데 왜그러는건가요??

  • spring-boot
  • spring-batch
do 댓글 1 좋아요 0 조회수 547

h2 데이터베이스 생성이 안됩니다.

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] cd ~ ls -alrth 하는데 없어요 아. 1.4.199 버전으로 다시 설치하니 됩니다ㅎ...

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
노나아 댓글 1 좋아요 1 조회수 800

Enum 관련하여 질문 드립니다.

미해결

실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)

Book Model에서 type을 String으로 지정해 주었는데, Test Code에서 isEqualTo("COMPUTER") 라고 하면 테스트가 실패합니다. 출력을 보니 String이 아닌 듯 한데, 그럼 어떤 타입인 것인지 궁금합니다! Spring에서는 Enum으로만 다루고, DB에만 String으로 저장되는 것인가요? 좋은 강의 감사드립니다 !

  • java
  • spring
  • kotlin
  • spring-boot
  • 리팩토링
Manx 댓글 1 좋아요 1 조회수 325

강의 수강 상황 초기화 부탁드립니다.

미해결

토비의 스프링 부트 - 이해와 원리

강의를 제가 빠르게 넘겨가면서 훑다가 수료증이 나와버렸는데요. 이 강의를 처음부터 제대로 수강하고 수료증을 새로 받고 싶습니다. 부탁드리겠습니다~

  • spring
  • spring-boot
  • spring-jdbc
romankibo 댓글 1 좋아요 0 조회수 907

Job 강의가 실행이 안됩니다!

미해결

스프링 배치

섹션3 스프링 배치 도메인의 이해에 있는 Job 강의가 실행이 안되고 무한로딩으로 되는데 확인가능할까요??

  • spring-boot
  • spring-batch
초보개발 댓글 3 좋아요 0 조회수 640

HelloRepositoryTest의 오류...

미해결

토비의 스프링 부트 - 이해와 원리

안녕하세요 강사님! 강의 거의 막바지를 달려가고있네요 좋은강의 감사합니다! 다른게아니고 HelloRepositoryTest를 돌리는데 expected: null but was: tobyspring.helloboot.Hello@5546e754 org.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); } } 이건 제 코드입니다 어디서 오류가났는지를 모르겠습니다...

  • spring
  • spring-boot
  • spring-jdbc
김성민 댓글 3 좋아요 0 조회수 667

partitionStep의 itemReader에 관하여

미해결

스프링 배치

안녕하세요.! 대용량 배치를 개발하기 위해 파티션스텝을 이용하여 개발중입니다. 파티션 메인스텝에 워커 스텝을 지정하고 실행하였는데요. Thread1의 itemReader가 1만건의 데이터를 fetch하는 동안 Thread2의 itemReader는 Thread1의 itemReader의 fetch가 끝날때까지 기다리는건가요?? 제가 기대한 로그는 Thread1 : result set row 100 Thread2 : result set row 100 Thread1 : result set row 200 Thread2 : result set row 200 동시에 스레드가 실행되어 위와 같이 병렬적으로 itemreader가 수행되어야 한다고 생각하는데 실제 로그는 Thread1 : result set row 100 Thread1 : result set row 200 Thread2 : result set row 100 Thread2 : result set row 200 위와 같이 Thread1의 itemreader가 끝이 나야 Thread2의 itemreader가 동작하는것 같습니다... 제 생각이 맞을까요? 맞다면 왜 실제로그는 동기적인 방식으로 되는지 궁금합니다.

  • spring-boot
  • spring-batch
do 댓글 1 좋아요 0 조회수 382

9:56 경 "JSON의 루트는 배열로 해서는 안된다." 에 대한 질문

해결됨

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

안녕하세요! JSON과 배열에 대해 질문드립니다! 9:56 경에, 영한님께서 "JSON의 루트는 배열로 해서는 안된다." 라고 언급해주셨습니다. 이것은 혹시, 클라이언트 쪽에서 해당 배열에 접근할 수 있는 방법이 없어서이기 때문일까요..? 확인해주셔서 감사드립니다!

  • java
  • spring
  • spring-boot
  • jpa
동해물과백두산이마르고닳도록 댓글 1 좋아요 0 조회수 669

setter말고 @Bulider사용시 연관관계 메서드

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

예를들어 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); } }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
ㅇㅇㅇ 댓글 1 좋아요 0 조회수 500

배치데이터가 쌓였을 때 속도 문제

미해결

스프링 배치

안녕하세요 선생님 강의 듣고 프로그램 배포해서 잘 운영하고 있습니다. 다름이 아니라 운영중에 데이터가 점차 쌓이면서 데이터가 많아지니 배치 속도가 조금씩 느려지더라고요. 아직 운영에 큰 이슈는 없지만 나중에는 문제가 될 수도 있겠다 싶어 질문드립니다. 보통 이런 경우에는 어떤 방법으로 속도를 개선 하는지 궁금합니다. 당장 생각 나는 방법이 오래된 날짜의 데이터는 지우는 방법인데 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) 진행중인 프로젝트에 바로 사용한다고 시간이 없어 급하게 띄엄띄엄 들어서 못들은 강의가 많습니다. 혹시나 강의에 언급하신 내용이라면 죄송합니다. 훌륭한 강의 덕분에 프로젝트 무사히 완료 할 수 있었습니다. 감사합니다.

  • spring-boot
  • spring-batch
권순형 댓글 1 좋아요 0 조회수 693

java.lang.IllegalArgumentException: Unresolvable class definition for class

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

섹션 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 failed java.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 omitted Caused 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 omitted Process finished with exit code 0

  • java
  • spring
  • mvc
  • spring-boot
냠냠 댓글 2 좋아요 1 조회수 1608

연관관계 매소드 양방향 관계

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

양방향으로 관계가 어떤 경우일까요? 1대다, 다대다 이런 경우를 말하는건가요? 연관관계 메서드가, 객체를 생성하고 값을 셋팅할때 한개라도 빼먹는 경우가 있어서 간편하게 하려고 두개를 묶어서 나타내는 것이라고 생각하면 맞나요? 강의 25분 9초에서 연관 관계 메서드를 왜 적어줘야 하는지 잘 모르겠습니다. 그러니까, order라는 엔티티를 만든 곳에 member객체를 필드명 member 와 구별하기 위해 this.member = member 하면서 셋팅을 하고, member.getOrders().add(this) 즉, 회원 주문에 회원이름을 넣어주고? 이거를 여기에 기본적으로 셋팅해주는 이유가 뭔가요??

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김지수 댓글 1 좋아요 1 조회수 547

http://localhost:8080/hello 에서 에러가 나네요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 몇 번을 확인했는데 에러가 나서 찾기가 어렵네요 도움 부탁드립니다.

  • java
  • spring
  • mvc
  • spring-boot
ksd1003 댓글 2 좋아요 0 조회수 681

인기 태그

인프런 TOP Writers

주간 인기글