From d29a9a5e25651664056f43c56bd86880402b4459 Mon Sep 17 00:00:00 2001 From: abazov73 <92822431+abazov73@users.noreply.github.com> Date: Sun, 30 Apr 2023 21:07:58 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A7=D0=B5=D1=82=D0=B2=D1=91=D1=80=D1=82?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=BD=D0=B0=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= =?UTF-8?q?.=20=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BE=D1=82=D0=B1=D0=BE=D1=80?= =?UTF-8?q?=D0=B0=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80=D0=BE=D0=B2=20=D0=BF?= =?UTF-8?q?=D0=BE=20=D0=BF=D1=80=D0=B8=D0=B7=D0=BD=D0=B0=D0=BA=D1=83=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=B2=D1=8F=D0=B7=D0=BA=D0=B8=20=D0=BA=20?= =?UTF-8?q?=D0=BC=D0=B0=D0=B3=D0=B0=D0=B7=D0=B8=D0=BD=D1=83.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/ipLab/data.mv.db | Bin 90112 -> 77824 bytes backend/ipLab/data.trace.db | 272 ++++++++++++++++++ .../Controllers/ProductController.java | 5 +- .../Repositories/ProductRepository.java | 7 + .../StoreDataBase/Service/ProductService.java | 8 + 5 files changed, 289 insertions(+), 3 deletions(-) diff --git a/backend/ipLab/data.mv.db b/backend/ipLab/data.mv.db index fd1fd435077a223ae2b28a901e2e86c2ef328ff3..af21ef00a86be28277439e244c158446ad16140c 100644 GIT binary patch delta 8097 zcmeHMYm8OZ72fB*?=XOs_kcoSm_fb8z0Z4JVi+o=&Y1EJL4%3si73oa7zC>6y_&XG zo3`pTy$!Zi(iBU7G){+Revq08Y4A^N6VsB$5bD4F=#%=RNfWheKh8Ou;qvG}G^S26 zci(mIx#z62)?VNGzIB?D#pb((-uvo$&EGo`JXW{Gx^2%_qB_AC*Mdh54L?@bY4k$x zs<}}u-W!buk3Y&5Jsur6xMyUT z`CS_w3F^KPw#GIM-qnRracy}X(pI4|Tw*nGb-5aHHRWoJUzq%XmZL#yUrWC@NdGu1t%WL^=oKO>lN>|Wz?(kz^&G)pS}yycj5T)7hc!q zjB81BJ$d_XYwZ)u?{nGxAF1oumN)Ln8@J?*+x*6@K)13Rr*;@cwL`;)4n`pl1ku}L z4`_26G*H6f@o*5I>a~#|IJDmz4vyAId_48Um!5<*mI$M^chBR|m%tekIhY%pc?x`) zA>pZkLo8j45*HzB7*jjirX+_trbVQW>qd8^Nm4!Zxre%EsUBiW$62(3*3tEM4iXtA zJJ}wDNFPYDKbQ*`>mgCX1TNUu3{$|Juwqw<5+<*uQ3_?0yeU!AO-LCFnTV1pqh#=W z8fiXLPwm80a~|{54Rs}2L7Kr($zUkr<3wtF46KoESr7bv!7$kw!N5+pXNznQ6Pu}_ z>jBOTsOHqL;HQaUS@t#(Bo;M@>7|B6mDAa<9g}a|*a+;zpx81^gwOy&pPLUWLfVt( zCdfwZ@7nn0T~4n39bKDscTx!%5U4er!jA98zGvGMs(EAU{l<(amYHyPCUhBa0UWvs z+ma&(Nw#O01e^y1>PXodfobb1bi|@oBG-khZP)_Xfd+Fv%H=hLUK>DY?M_%HVSSL> z+F#z`YvJYdeZ4DsD`u>Rlv+{6^Kb+wYHo)UvG0(vxY*U& z;Nkq@-7{K8y`|;CHD1C(|=6}$Ay@S)-G5|98P3|og%1?UjPVQ?5o4BrGykcJHi zkr=w|Sbz`m8&h`yACkj7SQRAr83UQPT<P=Px6Wy`uIw%ns#)LNT&ZRtU%@aEj5d961g z6j%}nGXC48*l%PrnH zt=LkK>Pl`<#SJRlfF7;{i1@7X1Yt8Nrfk~_OIDu9hwDcHRGu_~(1rSvMrg7=EsZ$J z3=88BDla)Kz)*R@pxDUHMhSMI^5kKZMlQG@Eg$2ll?P1?Dp7m)7_0-R@cj2!;h^G~ z9b?|ve5?80N`FdLm3#NHVxcw^3sze6R5ZRZ&^6UPnZYe<(c46ee)!TBePVK2ExPoJ z!rNM|uU#VA)=F6i=Hy#mdneKQ%8rLAbx8Y3FqRWf_h{@@4C1?bgyV`~IF?U{TQN*W zr>5hzPZDjYOdUuhwI?nTZLGjJ&mXG@bxqFxS1z}reg9f*Um5sEKw`J`pPlO_{=HT^ zRbl`$ap8XL{Tv+HJ#WdM^SR#k*r2w$Ff((!O2*|>{e}5 zTUdB=;e|p5ZmC+5;FhQ(32s~w0l2kSt}7$4s((Ti%swIdhjR!Hj*dqN>)+hC z85)B$Zi>ceDilHj8Dr%DXu!&09YE#dLW5M^J_mO8H#Y2*Il5(Nl~I8(L${E|K@ex? z_E1WIWnUKPc5Pj(G#5dGv&&@^7f@}}W^i&a7Yk53(G6oX_4`;2Njzmqnp*`u zV8bIl8y>-Qp@Z(a(J>bfUqcT1)cAFta*<1!7$ah;1e)fIq`@exW#60`2~@W#fdIFl zs<{*@?pVU5Q02X|Tnbf-AZh>Vp=lJ^;so z7OF;P-~+IS&n06jse>Jw5o0lEP3DcJm^V@!0@W6S)`;2`WwX2n8#t;PSywi)E-5kf zRZ7egA541aoL|3RtZBgVrd9QEDgbkrO^JWMcR zX>?%3kN~740zo4IO03W>ZYo3V8TTPyb%I_z6A}Z&BmVzj)d;m5} zL>`V~iMZuyI5F6ZzCY%nGRmeB|W1TpU_7Tu7c6WX}ndX)WQQ4HCxVX{!5_cn#dV)PUHhaxUHd;!m*qRuhMl%} V_%Lnpt{;2483)jEH|Cag{TDgf6RiLM literal 90112 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.java:444) ... 149 more +2023-04-30 20:52:24 jdbc[5]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "P" не найден +Column "P" not found; SQL statement: +SELECT p FROM Product p WHERE p.store_fk != null [42122-210] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:521) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) + at org.h2.message.DbException.get(DbException.java:227) + at org.h2.message.DbException.get(DbException.java:203) + at org.h2.expression.ExpressionColumn.getColumnException(ExpressionColumn.java:248) + at org.h2.expression.ExpressionColumn.optimizeOther(ExpressionColumn.java:230) + at org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:213) + at org.h2.command.query.Select.prepare(Select.java:1177) + at org.h2.command.Parser.prepareCommand(Parser.java:557) + at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:615) + at org.h2.engine.SessionLocal.prepareCommand(SessionLocal.java:553) + at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1116) + at org.h2.jdbc.JdbcPreparedStatement.(JdbcPreparedStatement.java:92) + at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:288) + at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:327) + at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:90) + at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:176) + at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:75) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.lambda$list$0(JdbcSelectExecutorStandardImpl.java:100) + at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:171) + at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:146) + at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getMetaData(AbstractResultSetAccess.java:33) + at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getColumnCount(AbstractResultSetAccess.java:49) + at org.hibernate.query.results.ResultSetMappingImpl.resolve(ResultSetMappingImpl.java:187) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.resolveJdbcValuesSource(JdbcSelectExecutorStandardImpl.java:559) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:350) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:166) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:91) + at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31) + at org.hibernate.query.sql.internal.NativeSelectQueryPlanImpl.performList(NativeSelectQueryPlanImpl.java:105) + at org.hibernate.query.sql.internal.NativeQueryImpl.doList(NativeQueryImpl.java:602) + at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:363) + at org.hibernate.query.Query.getResultList(Query.java:94) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:127) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:148) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:136) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:77) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:134) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:218) + at jdk.proxy2/jdk.proxy2.$Proxy123.findAllProductsWithStores(Unknown Source) + at com.example.ipLab.StoreDataBase.Service.ProductService.getAllProductsWithStores(ProductService.java:46) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) + at com.example.ipLab.StoreDataBase.Service.ProductService$$SpringCGLIB$$0.getAllProductsWithStores() + at com.example.ipLab.StoreDataBase.Controllers.ProductController.getProductsWithStores(ProductController.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:152) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1080) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:973) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1011) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:705) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:833) +2023-04-30 20:52:24 jdbc[3]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Столбец "P" не найден +Column "P" not found; SQL statement: +SELECT p FROM Product p WHERE p.store_fk != null [42122-210] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:521) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) + at org.h2.message.DbException.get(DbException.java:227) + at org.h2.message.DbException.get(DbException.java:203) + at org.h2.expression.ExpressionColumn.getColumnException(ExpressionColumn.java:248) + at org.h2.expression.ExpressionColumn.optimizeOther(ExpressionColumn.java:230) + at org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:213) + at org.h2.command.query.Select.prepare(Select.java:1177) + at org.h2.command.Parser.prepareCommand(Parser.java:557) + at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:615) + at org.h2.engine.SessionLocal.prepareCommand(SessionLocal.java:553) + at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1116) + at org.h2.jdbc.JdbcPreparedStatement.(JdbcPreparedStatement.java:92) + at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:288) + at com.zaxxer.hikari.pool.ProxyConnection.prepareStatement(ProxyConnection.java:327) + at com.zaxxer.hikari.pool.HikariProxyConnection.prepareStatement(HikariProxyConnection.java) + at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:90) + at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:176) + at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareStatement(StatementPreparerImpl.java:75) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.lambda$list$0(JdbcSelectExecutorStandardImpl.java:100) + at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:171) + at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:146) + at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getMetaData(AbstractResultSetAccess.java:33) + at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getColumnCount(AbstractResultSetAccess.java:49) + at org.hibernate.query.results.ResultSetMappingImpl.resolve(ResultSetMappingImpl.java:187) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.resolveJdbcValuesSource(JdbcSelectExecutorStandardImpl.java:559) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:350) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:166) + at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:91) + at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31) + at org.hibernate.query.sql.internal.NativeSelectQueryPlanImpl.performList(NativeSelectQueryPlanImpl.java:105) + at org.hibernate.query.sql.internal.NativeQueryImpl.doList(NativeQueryImpl.java:602) + at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:363) + at org.hibernate.query.Query.getResultList(Query.java:94) + at org.springframework.data.jpa.repository.query.JpaQueryExecution$CollectionExecution.doExecute(JpaQueryExecution.java:127) + at org.springframework.data.jpa.repository.query.JpaQueryExecution.execute(JpaQueryExecution.java:90) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:148) + at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:136) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:136) + at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:120) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:143) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:77) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:134) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:218) + at jdk.proxy2/jdk.proxy2.$Proxy123.findAllProductsWithStores(Unknown Source) + at com.example.ipLab.StoreDataBase.Service.ProductService.getAllProductsWithStores(ProductService.java:46) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) + at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) + at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) + at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703) + at com.example.ipLab.StoreDataBase.Service.ProductService$$SpringCGLIB$$0.getAllProductsWithStores() + at com.example.ipLab.StoreDataBase.Controllers.ProductController.getProductsWithStores(ProductController.java:33) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) + at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.base/java.lang.reflect.Method.invoke(Method.java:568) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:152) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1080) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:973) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1011) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:705) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:833) +2023-04-30 20:52:33 jdbc[5]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "SELECT p FROM Product p WHERE p.store_fk =[*]= null"; ожидалось "ALL, ANY, SOME" +Syntax error in SQL statement "SELECT p FROM Product p WHERE p.store_fk =[*]= null"; expected "ALL, ANY, SOME"; SQL statement: +SELECT p FROM Product p WHERE p.store_fk == null [42001-210] +2023-04-30 20:52:33 jdbc[3]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "SELECT p FROM Product p WHERE p.store_fk =[*]= null"; ожидалось "ALL, ANY, SOME" +Syntax error in SQL statement "SELECT p FROM Product p WHERE p.store_fk =[*]= null"; expected "ALL, ANY, SOME"; SQL statement: +SELECT p FROM Product p WHERE p.store_fk == null [42001-210] +2023-04-30 20:53:54 jdbc[4]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "SELECT * FROM Product p WHERE p.store_fk =[*]= null"; ожидалось "ALL, ANY, SOME" +Syntax error in SQL statement "SELECT * FROM Product p WHERE p.store_fk =[*]= null"; expected "ALL, ANY, SOME"; SQL statement: +SELECT * FROM Product p WHERE p.store_fk == null [42001-210] +2023-04-30 20:53:54 jdbc[3]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "SELECT * FROM Product p WHERE p.store_fk =[*]= null"; ожидалось "ALL, ANY, SOME" +Syntax error in SQL statement "SELECT * FROM Product p WHERE p.store_fk =[*]= null"; expected "ALL, ANY, SOME"; SQL statement: +SELECT * FROM Product p WHERE p.store_fk == null [42001-210] diff --git a/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Controllers/ProductController.java b/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Controllers/ProductController.java index 593ae0a..db8db1c 100644 --- a/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Controllers/ProductController.java +++ b/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Controllers/ProductController.java @@ -28,17 +28,16 @@ public class ProductController { .toList(); } - //сделать запрос + пагинация @GetMapping("/getWithStores") public List getProductsWithStores(){ - return productService.getAllProducts().stream().filter(prod -> prod.getStore() != null) + return productService.getAllProductsWithStores().stream() .map(ProductDTO::new) .toList(); } @GetMapping("/getWithoutStores") public List getProductsWithoutStores(){ - return productService.getAllProducts().stream().filter(prod -> prod.getStore() == null) + return productService.getAllProductsWithoutStores().stream() .map(ProductDTO::new) .toList(); } diff --git a/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Repositories/ProductRepository.java b/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Repositories/ProductRepository.java index 47ea075..7bc283b 100644 --- a/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Repositories/ProductRepository.java +++ b/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Repositories/ProductRepository.java @@ -2,6 +2,13 @@ package com.example.ipLab.StoreDataBase.Repositories; import com.example.ipLab.StoreDataBase.Model.Product; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; + +import java.util.Collection; public interface ProductRepository extends JpaRepository { + @Query("SELECT p FROM Product p WHERE p.store <> null") + Collection findAllProductsWithStores(); + @Query("SELECT p FROM Product p WHERE p.store = null") + Collection findAllProductsWithoutStores(); } diff --git a/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Service/ProductService.java b/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Service/ProductService.java index f74c562..6668ce1 100644 --- a/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Service/ProductService.java +++ b/backend/ipLab/src/main/java/com/example/ipLab/StoreDataBase/Service/ProductService.java @@ -41,6 +41,14 @@ public class ProductService { public List getAllProducts(){ return productRepository.findAll(); } + @Transactional + public List getAllProductsWithStores(){ + return productRepository.findAllProductsWithStores().stream().toList(); + } + @Transactional + public List getAllProductsWithoutStores(){ + return productRepository.findAllProductsWithoutStores().stream().toList(); + } @Transactional public Product updateProduct(Long id, String productName){