1분 9초에 자동완성 윈도우 단축키 뭔가요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
뭐죠? 아래 초록색 박스에 적혀있는 ^ + v 키는 눌러도 적용이 안되는데요
- java
- spring
- mvc
- MVC
- spring-boot
176만명의 커뮤니티!! 함께 토론해봐요.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
뭐죠? 아래 초록색 박스에 적혀있는 ^ + v 키는 눌러도 적용이 안되는데요
미해결
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @GetMapping("/api/v3/simple-orders") public List<SimpleOrderDto> orderV3(){ List<Order> orders = orderRepository.findAllWithMemberDelivery(); List<SimpleOrderDto> result = orders.stream() .map(o -> new SimpleOrderDto(o)) .collect(Collectors.toList()); return result; } public List<Order> findAllWithMemberDelivery() { return em.createQuery( "select o from Order o" + "join fetch o.member m" + "join fetch o.delivery d", Order.class ).getResultList(); } 해당 코드를 작성 후 코드를 실행시켜 postman 을 통해 api 요청을 보내면 antlr.MismatchedTokenException: expecting "all", found 'o' at antlr.Parser.match( Parser.java:211 ) ~[antlr-2.7.7.jar:na] at org.hibernate.hql.internal.antlr.HqlBaseParser.propertyFetch( HqlBaseParser.java:1944 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.antlr.HqlBaseParser.fromClassOrOuterQueryPath( HqlBaseParser.java:2134 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.antlr.HqlBaseParser.fromRange( HqlBaseParser.java:1646 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.antlr.HqlBaseParser.fromClause( HqlBaseParser.java:1465 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom( HqlBaseParser.java:1165 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule( HqlBaseParser.java:825 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement( HqlBaseParser.java:336 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.antlr.HqlBaseParser.statement( HqlBaseParser.java:200 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse( QueryTranslatorImpl.java:294 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile( QueryTranslatorImpl.java:189 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile( QueryTranslatorImpl.java:144 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:113 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:73 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan( QueryPlanCache.java:162 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan( AbstractSharedSessionContract.java:604 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:716 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:816 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:113 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] 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.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke( ExtendedEntityManagerCreator.java:362 ) ~[spring-orm-5.3.2.jar:5.3.2] at com.sun.proxy.$Proxy99.createQuery(Unknown Source) ~[na: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.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:311 ) ~[spring-orm-5.3.2.jar:5.3.2] at com.sun.proxy.$Proxy99.createQuery(Unknown Source) ~[na:na] at jpabook.jpashop.repository.OrderRepository.findAllWithMemberDelivery( OrderRepository.java:100 ) ~[classes/:na] at jpabook.jpashop.repository.OrderRepository$$FastClassBySpringCGLIB$$9808961b.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:771 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:749 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ~[spring-tx-5.3.2.jar:5.3.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:749 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:691 ) ~[spring-aop-5.3.2.jar:5.3.2] at jpabook.jpashop.repository.OrderRepository$$EnhancerBySpringCGLIB$$addaf799.findAllWithMemberDelivery(<generated>) ~[classes/:na] at jpabook.jpashop.api.OrderSimpleApiController.orderV3( OrderSimpleApiController.java:49 ) ~[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.web.method.support .InvocableHandlerMethod.doInvoke( InvocableHandlerMethod.java:197 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.method.support .InvocableHandlerMethod.invokeForRequest( InvocableHandlerMethod.java:141 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:106 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:894 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal( RequestMappingHandlerAdapter.java:808 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle( AbstractHandlerMethodAdapter.java:87 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1061 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:961 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1006 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.doGet( FrameworkServlet.java:898 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service( HttpServlet.java:626 ) ~[tomcat-embed-core-9.0.41.jar: 4.0.FR ] at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:883 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service( HttpServlet.java:733 ) ~[tomcat-embed-core-9.0.41.jar: 4.0.FR ] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:231 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:53 ) ~[tomcat-embed-websocket-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:119 ) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:119 ) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:119 ) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:202 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:97 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:542 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:143 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:92 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:78 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:343 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:374 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:888 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1597 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1128 ) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:628 ) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na] 2023-01-31 17:43:10.800 ERROR 20685 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: expecting "all", found 'o' near line 1, column 56 [select o from jpabook.jpashop.domain.Order ojoin fetch o.member mjoin fetch o.delivery d]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: expecting "all", found 'o' near line 1, column 56 [select o from jpabook.jpashop.domain.Order ojoin fetch o.member mjoin fetch o.delivery d]] with root cause org.hibernate.hql.internal.ast.QuerySyntaxException: expecting "all", found 'o' near line 1, column 56 [select o from jpabook.jpashop.domain.Order ojoin fetch o.member mjoin fetch o.delivery d] at org.hibernate.hql.internal.ast.QuerySyntaxException.convert( QuerySyntaxException.java:74 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.ast.ErrorTracker.throwQueryException( ErrorTracker.java:93 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse( QueryTranslatorImpl.java:301 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile( QueryTranslatorImpl.java:189 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile( QueryTranslatorImpl.java:144 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:113 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>( HQLQueryPlan.java:73 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan( QueryPlanCache.java:162 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan( AbstractSharedSessionContract.java:604 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:716 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:816 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] at org.hibernate.internal.AbstractSharedSessionContract.createQuery( AbstractSharedSessionContract.java:113 ) ~[ hibernate-core-5.4.25.Final .jar: 5.4.25.Final ] 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.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke( ExtendedEntityManagerCreator.java:362 ) ~[spring-orm-5.3.2.jar:5.3.2] at com.sun.proxy.$Proxy99.createQuery(Unknown Source) ~[na: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.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke( SharedEntityManagerCreator.java:311 ) ~[spring-orm-5.3.2.jar:5.3.2] at com.sun.proxy.$Proxy99.createQuery(Unknown Source) ~[na:na] at jpabook.jpashop.repository.OrderRepository.findAllWithMemberDelivery( OrderRepository.java:100 ) ~[classes/:na] at jpabook.jpashop.repository.OrderRepository$$FastClassBySpringCGLIB$$9808961b.invoke(<generated>) ~[classes/:na] at org.springframework.cglib.proxy.MethodProxy.invoke( MethodProxy.java:218 ) ~[spring-core-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint( CglibAopProxy.java:771 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:163 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:749 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.dao.support .PersistenceExceptionTranslationInterceptor.invoke( PersistenceExceptionTranslationInterceptor.java:137 ) ~[spring-tx-5.3.2.jar:5.3.2] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( ReflectiveMethodInvocation.java:186 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed( CglibAopProxy.java:749 ) ~[spring-aop-5.3.2.jar:5.3.2] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept( CglibAopProxy.java:691 ) ~[spring-aop-5.3.2.jar:5.3.2] at jpabook.jpashop.repository.OrderRepository$$EnhancerBySpringCGLIB$$addaf799.findAllWithMemberDelivery(<generated>) ~[classes/:na] at jpabook.jpashop.api.OrderSimpleApiController.orderV3( OrderSimpleApiController.java:49 ) ~[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.web.method.support .InvocableHandlerMethod.doInvoke( InvocableHandlerMethod.java:197 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.method.support .InvocableHandlerMethod.invokeForRequest( InvocableHandlerMethod.java:141 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:106 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:894 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal( RequestMappingHandlerAdapter.java:808 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle( AbstractHandlerMethodAdapter.java:87 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1061 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:961 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1006 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at org.springframework.web.servlet.FrameworkServlet.doGet( FrameworkServlet.java:898 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service( HttpServlet.java:626 ) ~[tomcat-embed-core-9.0.41.jar: 4.0.FR ] at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:883 ) ~[spring-webmvc-5.3.2.jar:5.3.2] at javax.servlet.http.HttpServlet.service( HttpServlet.java:733 ) ~[tomcat-embed-core-9.0.41.jar: 4.0.FR ] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:231 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:53 ) ~[tomcat-embed-websocket-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:119 ) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:119 ) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) ~[spring-web-5.3.2.jar:5.3.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:119 ) ~[spring-web-5.3.2.jar:5.3.2] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:202 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:97 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:542 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:143 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:92 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:78 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:343 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:374 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:65 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:888 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1597 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:49 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1128 ) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:628 ) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61 ) ~[tomcat-embed-core-9.0.41.jar:9.0.41] at java.base/java.lang.Thread.run( Thread.java:834 ) ~[na:na] 이와 같은 오류가 뜹니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
[질문 내용] 강의 중 6:03에서 쿼리를 짤 필요가 없이 JDBC에서 제공하는 방식을 사용하셨는데 쿼리대신 JDBC에서 제공하는 방식을 사용하는 이유가 있나요?? 공식문서를 찾아보니 DBC 드라이버를 통해 검색할 수 있는 데이터베이스 메타데이터를 활용하여 단순화된 구성을 제공함으로 코드에 모든 세부 정보를 제공하려는 경우 메타데이터 처리를 재정의하거나 끌 수 있지만 미리 구성할 항목이 적습니다. 라고 나오는데 이러한 장점때문일까요??
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 여기에 질문 내용을 남겨주세요. 어디서 에러가 난지 모르겠어요ㅠㅠ
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 2.78 /자바는 11/운영체제 윈도우 11 gradle build 과정에서 경로를 찾고 빌드를 썻는데 진행이 되지 않습니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 좋은 강의 감사합니다. 저는 elipse 로 실습 중인데요 . Spring Tool Suite 4 Version: 4.17.1.RELEASE 이 버전으로 실습 중인데요 thymeleaf 자동 완성 플러그인이 있어서 설치 해보고 재 시작도 해보았는데 자동 완성이 되지 않습니다. ( thymeleaf Plugin for Eclipse 3.0.1) thymeleaf 자동 완성이 적용되는 eclipse 버전이 따로 있나요? 아니면 제가 뭔가 설치를 잘못한 것일까요?
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요. 5강 6강을 수강하던 중 몇 가지 궁금증이 생겨 질문 남깁니다. 5강 GET API에서 사용된 CalculatorAddRequest -> 생성자 O, getter O 6강 POST API에서 사용된 CalculatorMultiplyRequest -> 생성자 X, getter O 1. GET API - CalculatorAddRequest에서 number1, number2 필드에 왜 final 키워드 가 필요한가요? 2. GET API - CalculatorAddRequest에서 생성자를 없애면 값이 0으로 바인딩되던데 왜그럴까요? 3. POST API - CalculatorMultiplyRequest에서는 왜 생성자가 없어도 값이 바인딩되는 걸까요? @RequestBody 어노테이션 때문일까요? 감사합니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
위와 같이 강의랑 똑같이 했는데 연결이 안돼요ㅠ 주소도 localhost로 바꿔서 해봤는데도 연결이 안됩니다ㅠ
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] 'MemberService()' cannot be applied to '(com.example.demo.repository.MemberRepository)' error: constructor MemberService in class MemberService cannot be applied to given types; return new MemberService(memberRepository()); ^ required: no arguments found: Membe 적용할 수 없다는 에러가 나오는데 왜 나오는지 모르겠네요. 찾아보니 저만 이런 것 같은데 뭐가 문제일까요 package com.example.demo.config; import com.example.demo.repository.JdbcMemberRepository; import com.example.demo.repository.MemberRepository; import com.example.demo.repository.MemoryMemberRepository; import com.example.demo.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; @Configuration public class SpringConfig { @Autowired DataSource dataSource; @Bean public MemberService memberService(){ return new MemberService(memberRepository()); } @Bean public MemberRepository memberRepository(){ //return new MemoryMemberRepository(); return new JdbcMemberRepository(dataSource); } }
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
에러가 나서 작동이 안됩니다ㅠ
미해결
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
다음과 같이 에러가 발생하는데, 이게 왜 그런지 이유를 모르겠습니다.
미해결
실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
안녕하세요 강사님 테스트하실 때 .ast를 활용하여 assertThat()을 활성화하시던데 방법을 알 수 있을까요? postfix 를 활용하시는 것 같은데 어떻게 하는지 정확히 궁금합니다!
미해결
자바 스프링부트 활용 웹개발 실무용
Swagger 설치 후, 접속 url이 http://localhost:7777/swagger-ui.html 인가요?
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
jar 빌드 부분에서 Build Failed라고 뜨는데 원인이 무엇인지 잘모르겠어요
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제가 이해한 것이 맞는지 확인 차 질문 드립니다. 빌드하고 실행하기 영상에서 cmd 창에 ./gradlew build 명령어를 통해 파일을 빌드하고 실행하였습니다 따라서 폴더에 build 파일이 만들어졌고 외부에 배포할 때는 이것을 사용한다고 배웠습니다. 이와 같이 cmd 창에서 빌드하고 실행한 것과 intellij idea 내에서 Application을 실행한 것이 위치만 다르지 같은 의미일까요? 말을 좀 이상하게 했는데 둘 다 빌드하고 실행하는 역할을 하는 것이 맞는지 궁금하여 질문 드립니다. 답변 부탁드립니다. 감사합니다
미해결
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
본 챕터 강의에 있는 모든 코드를 정상적으로 입력하였는데, 포스트맨으로 테스트시 에러가 발생합니다. --- 포스트맨 입력 값 --- POST 127.0.0.1:8000/order-service/fcec75e5-6858-4112-8659-34000efd1988/orders { "productId": "CATALOG-001", "qty": 10, "unitPrice": 1500 } --- 포스트맨 반환 값 --- { "timestamp": "2023-01-30T12:44:33.233+00:00", "status": 404, "error": "Not Found", "message": "No message available", "path": "/order-service/fcec75e5-6858-4112-8659-34000efd1988/orders" }
미해결
스프링 시큐리티 OAuth2
안녕하세요 선생님 강의 잘듣고 있습니다 오늘 처음으로 spring 시큐리티와 keycloak 와 사용해서 간단한 RestController 을 만들어서 keycloak 로 로그인하는 강의를 들었는데 궁금점이 생겼습니다 applition.yml redirect 구성하실때 http://localhost:8081/login/oauth2/code/keycloak 이 주소가 시큐리티 ouath2 로그인 고유 주소인가요? 제가 테스트한다고 oauth2 에 다른 문자열을 넣고 돌리면 리디렉션이 너무 많다고 크롬 , 엣지에서 오류가 발생합니다 ex1) clientId - OAuth2-client-app redirectUri= http://localhost:8081/login/oauth2/code/keycloak ex2)clientId - OAuth2-client-app redirectUri= http://localhost:8081/login/OAuth2-client-app/code/keycloak 이렇게 비교를 해보았는데 1번은 로그인이 잘되고 2번은 계속 무한 리디렉션이 나옵니다 그래서 ex1) 번을 크롬 개발자 도구로 쫒아 가보니 1) http://localhost:8081/oauth2/authorization/keycloak status :302 Location: http://localhost:8080/realms/spring-security-OAuth2/protocol/openid-connect/auth?response_type=code&client_id=OAuth2-client-app&scope=openid%20email%20profile&state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&redirect_uri=http://localhost:8081/login/oauth2/code/keycloak&nonce=ehS4VAjQJBrDf7APtHtUbWuzwdOnCJAOd8BhRhSohoU 2) http://localhost:8080/realms/spring-security-OAuth2/protocol/openid-connect/auth?response_type=code&client_id=OAuth2-client-app&scope=openid%20email%20profile&state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&redirect_uri=http://localhost:8081/login/oauth2/code/keycloak&nonce=ehS4VAjQJBrDf7APtHtUbWuzwdOnCJAOd8BhRhSohoU status : 302 Location: http://localhost:8081/login/oauth2/code/keycloak?state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&session_state=0e8d5564-fa24-4521-9bd9-bd931d42beb7&code=58d084f3-272e-4e31-ad4d-edc808fde122.0e8d5564-fa24-4521-9bd9-bd931d42beb7.e3344d0f-ca0d-44fd-8993-08b7b90ca190 3) http://localhost:8081/login/oauth2/code/keycloak?state=wNz-VZFRvu_Nr8KUFYjRshELNLOFbUZVO9vWdcEQrs4%3D&session_state=0e8d5564-fa24-4521-9bd9-bd931d42beb7&code=58d084f3-272e-4e31-ad4d-edc808fde122.0e8d5564-fa24-4521-9bd9-bd931d42beb7.e3344d0f-ca0d-44fd-8993-08b7b90ca190 status : 302 Location: http://localhost:8081/ 스프링 시큐리티 안에서 oauth2 가 가지는 고유의 엔드포인트 라고 생각을 해야 하는게 맞는거겠죠? 무한리디렉션이 생기는 이유는 솔직히 모르겠습니다 아마 로그인 권한은 획득했는데.. 그 이후는 잘 모르겠습니다.
미해결
실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
4:40에.. extends ApiTest 하면서 SpringBootTest 어노테이션을 지웁니다! 에러를 계속 마주치다가 간신히 찾았군요..
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 테스트 작성만하면 이런오류가나네요 무슨문제일까요
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오 [질문 내용] 이전 도메인 설계 강의 듣기로 연관관계에 있는 두 엔티티의 관계를 변경하려면, 주인엔티티의 값을 변경하면 된다고 하셨고, mappedBy 가 선언된 종속(?)엔티티는 값을 변경하더라도 연관관계가 변경되지 않는다고 하셨던것 같은데요. 그럼 연관관계를 설정할때 주인엔티티에만 설정해주면 되지 않나요? 이 강의에서 나오는 연관관계 메소드에서는 Order 엔티티에도 member를 세팅해주고, Memeber 엔티티의 List<Order>에도 order 를 add해주도록 되어 있어서 왜 둘다 세팅하는지 문의드립니다.