inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

작성글 저장2 - 클래스 분리

미해결

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class com.selfstudy.request.PostCreate]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.selfstudy.request.PostCreate (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 2] 안녕하세요 호돌님, 강의의 '작성글 저장2 - 클래스 분리' 파트 초반부분에서 영상대로 따라했는데 테스트가 실패하여서 관련 오류를 찾아 PostCreate 클래스에 @NoArgsConstructor 어노테이션을 이용해 기본생성자를 추가하는 방법으로 오류를 해결했습니다. 그런데 영상에선 분명히 PostCreate 클래스에 따로 기본생성자를 추가한 것이 안보이는데 어떤 차이로인해 오류가 발생한 것인지 궁금합니다

  • vue.js
  • aws
  • spring-boot
  • jpa
  • spring-security
nose딩 댓글 1 좋아요 1 조회수 530

jpa save 질문

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 보통 jpa에서 제공하는 save는 Customer를 저장하고 싶은 경우(모든 컬럼에 값이 설정돼있지 않음) Customer customer = new Customer(); customer.setCustomerName("aa"); customerRepository.save (customer); setter로 설정하기엔 컬럼이 너무 많은데 이게 맞는건지 아니면 컨트롤러에서 파라미터를 OrderVO로 받아서 Entity로 변환한 다음 저장하는게 맞는지 잘 모르겠습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
이혜정 댓글 1 좋아요 0 조회수 428

다대일 매핑 테일에 대해서.. spring jpa 연관관계

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://b it.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이런식으로 node 와 edge가 다대일 관계로 마인드맵과 연관 관계를 맺으면 관리가 되나여.? node가 리스트 형식으로 저장되서 마인드맵의 id를 fk로 가져와서 이 마인드맵 번호로 관리할려고 하는데? 보통은 마인드맵쪽에서 다대일 관계로 되야하는데 그렇게 하면 이상해서..

  • java
  • jpa
tv0602 댓글 1 좋아요 0 조회수 495

메이븐 프로젝트

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

현재 Hello JPA - 프로젝트 생성 부분을 듣고 있는 수강생입니다. 그 뒤에 있는 jpa 로드맵 모든 강의에서도 계속 메이븐 프로젝트로 프로젝트 진행을 하시는건가요? 메이븐이랑 gradle 프로젝트는 많이 다를까요?

  • java
  • jpa
  • 메이븐
  • gradle
yehee7894 댓글 1 좋아요 0 조회수 594

MemberRepositoryTest 실행 오류

미해결

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

application 파일쪽에 띄어쓰기가 2칸으로 되어있는지 접속 url에 문제가 있는지 체크를 해봐도 특이 사항은 없었는데요 MemberRepositoryTest 실행 시킬때 테이블 생성이 정상적으로 이루어 지고 있지 않습니다... could not prepare statement; SQL [call next value for hibernate_sequence]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement; SQL [call next value for hibernate_sequence]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException( HibernateJpaDialect.java:259 ) at app//org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible( HibernateJpaDialect.java:233 ) at app//org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible( AbstractEntityManagerFactoryBean.java:551 ) at app//org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible( ChainedPersistenceExceptionTranslator.java:61 ) at app//org.springframework.dao.support.DataAccessUtils.translateIfNecessary( DataAccessUtils.java:242 ) at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:152 ) at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) at app//org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:708 ) at app//com.todel.sample.MemberRepository$$EnhancerBySpringCGLIB$$cc977298.save(<generated>) at app//com.todel.sample.MemberRepositoryTest.testMember( MemberRepositoryTest.java:25 ) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base@11.0.16.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base@11.0.16.1/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.0.16.1/java.util.ArrayList.forEach( ArrayList.java:1541 ) 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.0.16.1/java.util.ArrayList.forEach( ArrayList.java:1541 ) 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.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base@11.0.16.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base@11.0.16.1/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 ) Caused by: org.hibernate.exception.SQLGrammarException: could not prepare statement at app//org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert( SQLExceptionTypeDelegate.java:63 ) at app//org.hibernate.exception.internal.StandardSQLExceptionConverter.convert( StandardSQLExceptionConverter.java:37 ) at app//org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert( SqlExceptionHelper.java:113 ) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement( StatementPreparerImpl.java:186 ) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement( StatementPreparerImpl.java:75 ) at app//org.hibernate.id.enhanced.SequenceStructure$1.getNextValue( SequenceStructure.java:105 ) at app//org.hibernate.id.enhanced.NoopOptimizer.generate( NoopOptimizer.java:40 ) at app//org.hibernate.id.enhanced.SequenceStyleGenerator.generate( SequenceStyleGenerator.java:534 ) at app//org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId( AbstractSaveEventListener.java:114 ) at app//org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient( DefaultPersistEventListener.java:185 ) at app//org.hibernate.event.internal.DefaultPersistEventListener.onPersist( DefaultPersistEventListener.java:128 ) at app//org.hibernate.event.internal.DefaultPersistEventListener.onPersist( DefaultPersistEventListener.java:55 ) at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener( EventListenerGroupImpl.java:107 ) at app//org.hibernate.internal.SessionImpl.firePersist( SessionImpl.java:756 ) at app//org.hibernate.internal.SessionImpl.persist( SessionImpl.java:742 ) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base@11.0.16.1/jdk.internal.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62 ) at java.base@11.0.16.1/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43 ) at java.base@11.0.16.1/java.lang.reflect.Method.invoke( Method.java:566 ) at app//org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:315 ) at app//com.sun.proxy.$Proxy98.persist(Unknown Source) at app//com.todel.sample.MemberRepository.save( MemberRepository.java:15 ) at app//com.todel.sample.MemberRepository$$FastClassBySpringCGLIB$$e449817d.invoke(<generated>) at app//org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:793 ) at app//org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) at app//org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:763 ) at app//org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ... 90 more Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Sequence "HIBERNATE_SEQUENCE" not found; SQL statement: call next value for hibernate_sequence [90036-214] at org.h2.message.DbException.getJdbcSQLException( DbException.java:632 ) at org.h2.message.DbException.getJdbcSQLException( DbException.java:477 ) at org.h2.message.DbException.get( DbException.java:223 ) at org.h2.message.DbException.get( DbException.java:199 ) at org.h2.command.Parser.readSequence( Parser.java:8471 ) at org.h2.command.Parser.readTermWithIdentifier( Parser.java:5347 ) at org.h2.command.Parser.readTermWithIdentifier( Parser.java:5217 ) at org.h2.command.Parser.readTerm( Parser.java:4901 ) at org.h2.command.Parser.readFactor( Parser.java:3398 ) at org.h2.command.Parser.readSum( Parser.java:3385 ) at org.h2.command.Parser.readConcat( Parser.java:3350 ) at org.h2.command.Parser.readCondition( Parser.java:3132 ) at org.h2.command.Parser.readExpression( Parser.java:3053 ) at org.h2.command.Parser.parseCall( Parser.java:6980 ) at org.h2.command.Parser.parsePrepared( Parser.java:765 ) at org.h2.command.Parser.parse( Parser.java:689 ) at org.h2.command.Parser.parse( Parser.java:661 ) at org.h2.command.Parser.prepareCommand( Parser.java:569 ) at org.h2.engine.SessionLocal.prepareLocal( SessionLocal.java:631 ) at org.h2.server.TcpServerThread.process( TcpServerThread.java:288 ) at org.h2.server.TcpServerThread.run ( TcpServerThread.java:191 ) at java.lang.Thread.run (Unknown Source) at app//org.h2.message.DbException.getJdbcSQLException( DbException.java:632 ) at app//org.h2.engine.SessionRemote.readException( SessionRemote.java:637 ) at app//org.h2.engine.SessionRemote.done( SessionRemote.java:606 ) at app//org.h2.command.CommandRemote.prepare( CommandRemote.java:78 ) at app//org.h2.command.CommandRemote.<init>( CommandRemote.java:50 ) at app//org.h2.engine.SessionRemote.prepareCommand( SessionRemote.java:480 ) at app//org.h2.jdbc.JdbcConnection.prepareCommand( JdbcConnection.java:1116 ) at app//org.h2.jdbc.JdbcPreparedStatement.<init>( JdbcPreparedStatement.java:92 ) at app//org.h2.jdbc.JdbcConnection.prepareStatement( JdbcConnection.java:288 ) at app//com.zaxxer.hikari.pool.ProxyConnection.prepareStatement( ProxyConnection.java:337 ) at app//com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement( HikariProxyConnection.java ) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare( StatementPreparerImpl.java:90 ) at app//org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement( StatementPreparerImpl.java:176 ) ... 114 more

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
dream.dev010 댓글 1 좋아요 -1 조회수 1031

h2 데이터베이스 오류

해결됨

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

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

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

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 조회수 677

./gradlew clean build 맥북 실패

미해결

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

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

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

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

해결됨

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

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

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

H2 database 실행 안됨

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Create table Member()해서 테이블을 만들어서 실행버튼을 누르면 멤버테이블이 만들어 지잖아요 근데 실행버튼을 눌러도 테이블이 안만들어져요..

  • java
  • jpa
pingpinglee00 댓글 1 좋아요 -1 조회수 994

동적 쿼리 생성시 질문이 있습니다. (+패치조인)

미해결

실전! Querydsl

안녕하세요 항상 강의 잘보고 있습니다. 현재 강의에서 알려주신것을 토대로 토이프로젝트를 진행하고 있습니다. 토이프로젝트를 진행하던중 동적 쿼리 관련하여 이슈가 생겼고 해당 이슈를 해결하기위해 궁리를 하던 중 궁금한 점이 생겨 질문드립니다. 현재 강의에서는 조건절에 BooleanExpression을 이용해서 동적으로 쿼리를 생성하고 있는데 혹시 join절에도 동적 쿼리를 적용할수 있는지 궁금합니다. 만약 적용이 가능하다면 어떤식으로 가능한지 궁금합니다. 추가로 패치조인에 대해서 질문이 있습니다. ToOne관계에 있어서는 기존 전략을 지연로딩으로 가져가되 연관관계가 걸려있는 객체에 대해서 선택적으로 fetch join을 사용하라고 이해했습니다. 여기서 질문은 Querydsl에서 @QueryProhection을 사용하여 DTO로 조회를 할때는 fetch join을 사용할수는 없는지 궁금합니다.

  • java
  • jpa
  • querydsl
  • 동적쿼리
이상민 댓글 1 좋아요 0 조회수 630

안녕하세요. 질문드립니다.

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

3분 14초에 FAVORITE_FOOD와 ADDRESS 테이블에 PK에 일반적으로 사용하는 ADDRESS_ID와 같은 식별자를 쓰는 것이 아닌 MEMBER_ID를 쓰는 이유는 엔티티가 아닌 값타입이기 때문이라고 말씀해주셨는데요. 이 개념이 이해가 잘 안되네요.ㅠ.ㅠ 엔티티도 결국 테이블간 관계가 맺어진것이고, 값타입도 결국은 테이블간 관계가 맺어진거라면 저는 일대 다 관계랑 뭐가 다르지라고 생각하여 ADDREES테이블 PK도 별도로 만들려고 하면되지? 왜 MEMBER_ID값을 PK로 써야할까라는 생각이 듭니다. 경우에 따라 값타입으로 써야한다고 말씀을 주시는것같은데 부연설명좀 해주실수있을까요? PKMEMBER_ID 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • jpa
JongJin Kim 댓글 1 좋아요 0 조회수 324

강의를 다 듣고 몇가지 궁금점이 있어요

해결됨

Practical Testing: 실용적인 테스트 가이드

안녕하세요, 강의를 모두 들었고 정말 알차고 재밌게 다 들었습니다. 감사드립니다! 복습을 하다보니 실무 관점에서 몇가지 궁금한 부분들이 있는데요!! 1) JpaRepository 를 구현하는 구현체로 기본적인 CRUD 등 (ex. save(), saveAll() 등) 사용한다면, 이 부분도 별도 테스트를 작성하시나요? 전 이미 제공된 기본 메소드라 테스트 안해도 될 것 같다고 생각드는데 강사님은 실무에서 이부분도 하시는지 궁금합니다. 2) update/delete를 하게되면 저는 보통 void로 리턴값 없이 HttpStatus.ok 코드 정도만 보내곤했는데요. ApiResponse<Void> 이렇게 해서 보내도 무관할지 아니면 처리된 id값 정도라도 응답데이터에 실어서 보내는게 좋은가요? 3) 클라이언트에게 response하고 싶은 데이터가 API마다 다를 수 있는데 그럴때 서로 다른 Response DTO를 각자 만들어서 반환하시는 편인가요?? 제가 질문한 부분들은 할려면 다 할 수 있지만 좀 더 실무적인 관점에서의 방법이 궁금해서 여쭤봅니다! 감사합니다!

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
lina 댓글 1 좋아요 2 조회수 500

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

해결됨

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

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

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

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 조회수 502

@Transactional 테스트 케이스안에 query 및 transaction 작동방법

해결됨

실전! Querydsl

안녕하세요. @Transactional 테스트 케이스안에 query 및 transaction 작동방법이 이해가 안되서 문의드립니다. 일단 @Transactional을 테스트 케이스 붙이면 모든 change들이 테스트 완료후 롤백되는걸로 알고있습니다. 근데 제 update 메소드는 queryFactory.update() 메소드를 사용하고 있고 구글링 & chatgpt를 해본 결과 queryFactory.update()는 transaction을 커밋한다고 나왔습니다. 근데 제가 statsRepository.update() 시점 전과 후에 디버깅을 해보고 DB를 봤는데 값이 아직도 9로 나옵니다. transactional를 테스트 케이스에 안붙이면 메소드 후에 DB값이 10으로 관찰되고요. queryfactory.update()를 통해 transaction을 커밋했으면 DB에 값이 10으로 적용 된 다음에 테스트 끝난 시점에 다시 9로 롤백되는거 아닌가요? 아니면 커밋을 안하나요? 좀 했갈려서 도와주셨으면 감사하겠습니다. @Test @Transactional void updateIfMatch(){ //given String Url = “bla” String createdAt = LocalDateTime.now() //when statsRepository.update(url, createdAt) Statistics stats = statsRepository.findById(8L).get() //then assertThat(stats.getRelaySuccessCount()).isEqualTo(10) } //statsRepository @Transactional public void update(String url, LocalDateTime createdAt){ queryFactory .update(statistics) .where(whereClause) .execute(); JPQLQuery<Long> subquery = JPAExpressions.select //etc etc //조인 테이블 쿼리 BooleanExpression whereClause = statistics.id.in(subquery); }

  • java
  • jpa
Brian 댓글 1 좋아요 0 조회수 463

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

미해결

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

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

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

연관 관계 주인을 FK 없는 테이블의 엔티티로 지정했을 때 관련 질문입니다!

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요! 항상 강의 잘 듣고 있습니다 감사합니다 :-) 다름이 아니라, <양방향 연관관계와 연관관계의 주인 1- 기본> 강의의 18분 쯤에 설명주시는 내용 중 FK가 존재하지 않는 Team을 연관 관계의 주인으로 지정하면, Member를 연관 관계의 주인으로 지정했을 때보다 INSERT 외 UPDATE와 같은 더 많은 불필요한 SQL 쿼리가 발생한다고 언급하신 부분이 정확하게 머릿속에 개념이 잡히지 않습니다 ㅠㅠ 혹시 추가적인 설명이나 예시를 주실 수 있을까요..?

  • java
  • jpa
손원희 댓글 1 좋아요 0 조회수 454

6분28 초 카테고리 부모와 자식

미해결

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

@ManyToOne @JoinColumn(name = "parent_id") private Category parent; @OneToMany(mappedBy = "parent") private List<Category> child = new ArrayList<>(); 부모와 자식을 이렇게 설정해준다는데, 부모를 Many To One 자식을 One To Many 로 해주는게 이해가 안갑니다. 왜 이렇게 연관관계를 설정해 줘야 하는건가요?

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

인기 태그

인프런 TOP Writers

주간 인기글