Я довольно новичок в программировании и имею довольно сложную проблему. Я надеялся, что кто-то знает, как исправить следующее:
У меня есть проект с начальной загрузкой, соединяющий java с базой данных MySQL через JPA / hibernate. Это работает как успокоительный API, и я в основном использовал аннотации.
В MySQL таблица «контактов» (помимо прочего) связана с «проектами» через таблицу соединений («CONT_PROJ») и связана с «связями» через таблицу соединений «CONT $ COMPETENCECENTER».
(пожалуйста, постарайтесь игнорировать тот факт, что первичный ключ является двойным, это уже было так в базе данных, с которой я должен работать и не могу изменить)
В коде java я сделал @ManyToMany связанным с HashSet проектов (один человек может иметь несколько проектов, и несколько человек могут быть в одном проекте), тогда как люди могут быть только в 1 группе (для этого я использовал @ ManyToOne)
Это мой контактный объект:
@Entity
@Table(name = "contacts")
@JsonInclude(Include.NON_DEFAULT)
public class Contact implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private double k_Contact;
@NotNull
private String name;
// There are several other variables here
@ManyToMany
@JoinTable(
name = "PROJ_CONT",
joinColumns = @JoinColumn(name = "K_CONTACT", referencedColumnName="K_CONTACT"),
inverseJoinColumns = @JoinColumn(name = "K_PROJECT", referencedColumnName="K_PROJECT"))
private Set<Project> projects = new HashSet<>();
@ManyToOne
@JoinTable(
name = "CONT$COMPETENCECENTER",
joinColumns = @JoinColumn(name = "K_CONTACT", referencedColumnName="K_CONTACT"),
inverseJoinColumns = @JoinColumn(name = "F_COCE_MAIN", referencedColumnName="K_CONT_MEDE_COCE"))
private Coce coce;
public Contact() {
}
public Contact(double k_Contact) {
this.k_Contact = k_Contact;
}
public Contact(double k_Contact, String name, String firstName, String email1, Byte[] picture) {
this.k_Contact = k_Contact;
this.name = name;
this.firstName = firstName;
this.email1 = email1;
this.picture = picture;
}
public Contact(double k_Contact, String name, String firstName, String email1, Byte[] picture, Coce coce, Set<Project> projects) {
this.k_Contact = k_Contact;
this.name = name;
this.firstName = firstName;
this.email1 = email1;
this.picture = picture;
this.coce = coce;
this.projects = projects;
}
// plus getters and setters
}
Другие сущности очень простые (на данный момент @ManyToMany и @ManyToOne однонаправлены. Присутствуют геттеры и сеттеры.
Это проект:
@Entity
@Table(name = "projects")
@JsonInclude(Include.NON_DEFAULT)
public class Project implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private double k_Project;
@NotNull
private String name;
@NotNull
private LocalDateTime d_Start;
@NotNull
private LocalDateTime d_End;
public Project() {
}
public Project(double K_PROJECT, String NAME) {
this.k_Project = K_PROJECT;
this.name = NAME;
}}
И Коц:
@Entity
@Table(name = "LK_CONT_MEDE_COCE")
@JsonInclude(Include.NON_NULL)
public class Coce implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private double k_Cont_Mede_Coce;
@NotNull
private String competence_Cente;
@NotNull
private String unipartners;
public Coce() {
}
public Coce(double k_Cont_Mede_Coce, String competence_Cente, String unipartners) {
this.k_Cont_Mede_Coce = k_Cont_Mede_Coce;
this.competence_Cente = competence_Cente;
this.unipartners = unipartners;
}}
Мне нужны только несколько переменных (вот почему я не могу выбрать все).
Я также подумал, что не должен писать обширный запрос с внутренними объединениями, поэтому я не стал (и это работает для большинства запросов, кроме переменных List).
Это соответствующая часть ContactRepository:
public interface ContactRepository extends JpaRepository<Contact, Double> {
@Query("select c.k_Contact, c.name, c.firstName, c.email1, c.picture, c.coce, c.project from Contact c where c.k_Contact is :id")
Optional<Contact> findContactById(@Param("id") Double id);
}
Я получаю следующую ошибку, но только при попытке добавить c.projects:
MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as col_6_0_, coce1_.k_Cont_Mede_Coce as k_Cont_M1_3_0_, project3_.k_Project as k' at line 1
Когда я выполняю метод findAll для контактов, он также правильно выдает всю информацию, включая проекты (поэтому @ManyToMany работает). Я не могу использовать это, хотя, потому что производительность будет очень плохой.
Я думаю, что это тот способ, которым я запрашиваю «проекты» (который является списком), потому что Coce (единственный результат, @ManyToOne), работает отлично и возвращает правильный объект без каких-либо проблем.
Я надеюсь, что в запросе я допускаю простую ошибку.
Если есть что-то важное, что я должен добавить сюда, пожалуйста, дайте мне знать.
Заранее спасибо!
РЕДАКТИРОВАТЬ: приложение работает, ошибка SQL возникает, только когда я пытаюсь получить доступ к конкретным данным во время выполнения. Как и было сказано, вот полная ошибка, я не добавил ее, потому что она была довольно длинной:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'как col_6_0_, coce1_.k_Cont_Mede_Coce как k_Cont_M1_3_0_, project3_.k_Project как k' в строке 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (собственный метод) ~ [na: 1.8.0_161]
at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) ~ [na: 1.8.0_161]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) ~ [na: 1.8.0_161]
в java.lang.reflect.Constructor.newInstance (Constructor.java:423) ~ [na: 1.8.0_161]
в com.mysql.jdbc.Util.handleNewInstance (Util.java:425) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.Util.getInstance (Util.java:408) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.SQLError.createSQLException (SQLError.java:944) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:3976) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.MysqlIO.checkErrorPacket (MysqlIO.java:3912) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:2530) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:2683) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.ConnectionImpl.execSQL (ConnectionImpl.java:2486) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]в com.mysql.jdbc.PreparedStatement.executeInternal (PreparedStatement.java:1858) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
в com.mysql.jdbc.PreparedStatement.executeQuery (PreparedStatement.java:1966) ~ [mysql-connector-java-5.1.46.jar: 5.1.46]
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery (ProxyPreparedStatement.java:52) ~ [HikariCP-2.7.8.jar: na]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery (HikariProxyPreparedStatement.java) ~ [HikariCP-2.7.8.jar: na]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract (ResultSetReturnImpl.java:60) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.getResultSet (Loader.java:2168) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.executeQueryStatement (Loader.java:1931) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.executeQueryStatement (Loader.java:1893) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.doQuery (Loader.java:938) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections (Loader.java:341) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.doList (Loader.java:2692) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.doList (Loader.java:2675) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.listIgnoreQueryCache (Loader.java:2507) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.Loader.list (Loader.java:2502) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.loader.hql.QueryLoader.list (QueryLoader.java:502) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list (QueryTranslatorImpl.java:392) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.engine.query.spi.HQLQueryPlan.performList (HQLQueryPlan.java:216) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.internal.SessionImpl.list (SessionImpl.java:1489) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.query.internal.AbstractProducedQuery.doList (AbstractProducedQuery.java:1445) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.query.internal.AbstractProducedQuery.list (AbstractProducedQuery.java:1414) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.hibernate.query.internal.AbstractProducedQuery.getSingleResult (AbstractProducedQuery.java:1463) ~ [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]
в org.springframework.data.jpa.repository.query.JpaQueryExecution $ SingleEntityExecution.doExecute (JpaQueryExecution.java:214) ~ [spring-data-jpa-2.0.6.RELEASE.jar: 2.0.6.RELEASE]
в org.springframework.data.jpa.repository.query.JpaQueryExecution.execute (JpaQueryExecution.java:91) ~ [spring-data-jpa-2.0.6.RELEASE.jar: 2.0.6.RELEASE]
в org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute (AbstractJpaQuery.java:136) ~ [spring-data-jpa-2.0.6.RELEASE.jar: 2.0.6.RELEASE]
at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute (AbstractJpaQuery.java:125) ~ [spring-data-jpa-2.0.6.RELEASE.jar: 2.0.6.RELEASE]
в org.springframework.data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor.doInvoke (RepositoryFactorySupport.java:590) ~ [spring-data-commons-2.0.6.RELEASE.jar: 2.0.6.R
at org.springframework.data.repository.core.support.RepositoryFactorySupport $ QueryExecutorMethodInterceptor.invoke (RepositoryFactorySupport.java:578) ~ [spring-data-commons-2.0.6.RELEASE.jar: 2.0.6.REL
в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke (DefaultMethodInvokingMethodInterceptor.java:59) ~ [spring-data-commons-2.0.6.RELEASE.jar: 2.0.6.RELEASE]
в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction (TransactionAspectSupport.java:294) ~ [spring-tx-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:98) ~ [spring-tx-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke (PersistenceExceptionTranslationInterceptor.java:139) ~ [spring-tx-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor $ CrudMethodMetadataPopulationMethodInterceptor.invoke (CrudMethodMetadataPostProcessor.java:1EL. data.R.6.E.6.E.JE.0.EE.6.E.JE.0.EE.6.E.S.
в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke (ExposeInvocationInterceptor.java:92) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke (SurroundingTransactionDetectorMethodInterceptor.java:61) ~ [spring-data-commons-2.0.6.RELEASE.jELE: 2.0.6.Rease.RAR: 2.0.6.
в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:185) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:212) ~ [spring-aop-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
на com.sun.proxy. $ Proxy104.findContactById (неизвестный источник) ~ [na: na]
в org.unipartners.services.ContactServiceImpl.findContactById (ContactServiceImpl.java:25) ~ [classes /: na]
at org.unipartners.web.AppController.findContactById (AppController.java:67) ~ [classes /: na]
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) ~ [na: 1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) ~ [na: 1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) ~ [na: 1.8.0_161]
at java.lang.reflect.Method.invoke (Method.java:498) ~ [na: 1.8.0_161]
в org.springframework.web.method.support.InvocableHandlerMethod.doInvoke (InvocableHandlerMethod.java:209) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (InvocableHandlerMethod.java:136) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle (ServletInvocableHandlerMethod.java:102) ~ [spring-webmvc-5.0.5.RELEASE.jELE: 5.0.5.Re.
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.java:877) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal (RequestMappingHandlerAdapter.java:783) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:87) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:991) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:925) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:974) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.springframework.web.servlet.FrameworkServlet.doGet (FrameworkServlet.java:866) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в javax.servlet.http.HttpServlet.service (HttpServlet.java:635) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:851) ~ [spring-webmvc-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в javax.servlet.http.HttpServlet.service (HttpServlet.java:742) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) ~ [tomcat-embed-websocket-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.springframework.web.filter.RequestContextFilter.doFilterInternal (RequestContextFilter.java:99) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal (HttpPutFormContentFilter.java:109) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal (HiddenHttpMethodFilter.java:81) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (CharacterEncodingFilter.java:200) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]at org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) ~ [spring-web-5.0.5.RELEASE.jar: 5.0.5.RELEASE]
в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:198) ~ [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:496) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:140) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:81) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:87) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:342) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:803) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) [tomcat-embed-core-8.5.29.jar: 8.5.29]
в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) [na: 1.8.0_161]
в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) [na: 1.8.0_161]
в org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) [tomcat-embed-core-8.5.29.jar: 8.5.29]
at java.lang.Thread.run (Thread.java:748) [na: 1.8.0_161]