From ffea3e85aec8c56798dafe50d1ca120fd074e755 Mon Sep 17 00:00:00 2001 From: qingfeng1121 Date: Thu, 16 Oct 2025 16:34:36 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=88=86=E7=B1=BB=E5=B1=9E=E6=80=A7):=20?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E5=88=86=E7=B1=BB=E5=B1=9E=E6=80=A7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增分类属性相关实体、DTO、仓库、服务及控制器 扩展文章服务以支持按属性查询文章 重构文章实体将typeid改为attributeid 添加按标题查询文章功能 --- logs/web_project.log | 2951 ++++++----------- logs/web_project.log.2025-10-12.0.gz | Bin 0 -> 19821 bytes .../controller/ArticleController.java | 37 +- .../CategoryAttributeController.java | 99 + .../com/qf/myafterprojecy/pojo/Article.java | 20 +- .../pojo/Category_attribute.java | 40 +- .../pojo/dto/CategoryAttributeDto.java | 30 + .../repository/ArticleRepository.java | 22 +- .../CategoryAttributeRepository.java | 46 + .../repository/Category_attribute.java | 4 +- .../service/ArticleService.java | 69 +- .../service/CategoryAttributeService.java | 154 + .../service/IArticleService.java | 25 + .../service/ICategoryAttributeService.java | 54 + .../service/MessageService.java | 1 - 15 files changed, 1513 insertions(+), 2039 deletions(-) create mode 100644 logs/web_project.log.2025-10-12.0.gz create mode 100644 src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java create mode 100644 src/main/java/com/qf/myafterprojecy/pojo/dto/CategoryAttributeDto.java create mode 100644 src/main/java/com/qf/myafterprojecy/repository/CategoryAttributeRepository.java create mode 100644 src/main/java/com/qf/myafterprojecy/service/CategoryAttributeService.java create mode 100644 src/main/java/com/qf/myafterprojecy/service/ICategoryAttributeService.java diff --git a/logs/web_project.log b/logs/web_project.log index 18f0c6a..31ef676 100644 --- a/logs/web_project.log +++ b/logs/web_project.log @@ -1,2051 +1,970 @@ -2025-10-12 10:26:49 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 10:26:49 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 10:26:49 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 10:26:49 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2025-10-12 10:26:49 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2025-10-12 10:26:49 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 10:26:49 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 39 ms. Found 2 JPA repository interfaces. -2025-10-12 10:26:49 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 10:26:49 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 10:26:49 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 10:26:49 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 10:26:50 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 10:26:50 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 977 ms -2025-10-12 10:26:50 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 10:26:50 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final -2025-10-12 10:26:50 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} -2025-10-12 10:26:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 10:26:50 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 10:26:50 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 10:26:50 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 10:26:50 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 10:26:51 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +2025-10-16 15:54:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:54:04 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:54:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:54:04 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2025-10-16 15:54:04 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2025-10-16 15:54:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:54:05 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 65 ms. Found 3 JPA repository interfaces. +2025-10-16 15:54:05 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:54:06 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:54:06 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:54:06 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:54:06 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:54:06 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 2077 ms +2025-10-16 15:54:07 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:54:07 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final +2025-10-16 15:54:07 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} +2025-10-16 15:54:07 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:54:07 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:54:07 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:54:09 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-10-16 15:54:09 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-16 15:54:10 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - -Using generated security password: 5e78da82-833f-4286-97fe-c2195209a34a +Using generated security password: bdad858c-e3ff-442d-9e42-9e4895429b53 This generated password is for development use only. Your security configuration must be updated before running your application in production. -2025-10-12 10:26:51 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@56d9d58e, org.springframework.security.web.context.SecurityContextPersistenceFilter@5cacab35, org.springframework.security.web.header.HeaderWriterFilter@73af8ccc, org.springframework.security.web.authentication.logout.LogoutFilter@3eb0818c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@67fb8ff1, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3ec9970e, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5ef7df98, org.springframework.security.web.access.ExceptionTranslationFilter@1e72af25, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@2d37fa49] -2025-10-12 10:26:51 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 10:26:51 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 10:26:51 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 2.861 seconds (JVM running for 3.144) -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 3 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 3 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 2 -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=3 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=2 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 10:26:51 CST 2025] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 42 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=42 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 42 -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [42] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [42] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [42] -2025-10-12 10:26:51 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [42] -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 42 -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID42: 成功=true -2025-10-12 10:26:51 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 10:28:54 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-12 10:28:54 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-12 10:28:54 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms -2025-10-12 10:30:07 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 10:30:07 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:01:07 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 11:01:07 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:24:23 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 21 class path changes (0 additions, 0 deletions, 21 modifications) -2025-10-12 11:24:23 [Thread-5] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:24:23 [Thread-5] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Destroying Spring FrameworkServlet 'dispatcherServlet' -2025-10-12 11:24:23 [Thread-5] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:24:23 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:24:23 [Thread-5] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:24:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:24:23 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:24:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:24:24 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:24:24 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 5 ms. Found 2 JPA repository interfaces. -2025-10-12 11:24:24 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:24:24 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:24:24 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:24:24 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:24:24 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:24:24 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 164 ms -2025-10-12 11:24:24 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:24:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:24:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:24:24 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:24:24 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:24:24 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:24:24 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 7622149f-4058-4d74-8b7d-76201d9680c1 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:24:24 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@11f11515, org.springframework.security.web.context.SecurityContextPersistenceFilter@42e21505, org.springframework.security.web.header.HeaderWriterFilter@59c9afda, org.springframework.security.web.authentication.logout.LogoutFilter@4537f992, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@77c58116, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@581abb78, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@17a1cda9, org.springframework.security.web.access.ExceptionTranslationFilter@39d2c442, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3a8b7b3] -2025-10-12 11:24:24 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:24:24 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:24:24 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:24:24 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.388 seconds (JVM running for 3455.834) -2025-10-12 11:24:24 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:24:24 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 0 -2025-10-12 11:24:24 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中没有消息数据,开始添加初始化数据... -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是系统自动添加的第一条评论,欢迎使用本系统!] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:24:24 CST 2025] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [system@example.com] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [系统用户] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [感谢您的支持,如有任何问题请随时联系我们!] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:24:24 CST 2025] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [admin@example.com] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [管理员] -2025-10-12 11:24:24 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] -2025-10-12 11:24:24 [restartedMain] WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 1452, SQLState: 23000 -2025-10-12 11:24:24 [restartedMain] ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Cannot add or update a child row: a foreign key constraint fails (`webporject`.`message`, CONSTRAINT `message_parent_parentid_fk` FOREIGN KEY (`parentid`) REFERENCES `parent` (`parentid`)) -2025-10-12 11:24:24 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - +2025-10-16 15:54:10 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@e4ae1ae, org.springframework.security.web.context.SecurityContextPersistenceFilter@16f2bb4d, org.springframework.security.web.header.HeaderWriterFilter@21a57eee, org.springframework.security.web.authentication.logout.LogoutFilter@69e84427, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@776eadfa, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@51c56d98, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5eb3ea8a, org.springframework.security.web.access.ExceptionTranslationFilter@79bce009, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@6ba2167b] +2025-10-16 15:54:11 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] +2025-10-16 15:54:11 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 +2025-10-16 15:54:11 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 7.414 seconds (JVM running for 8.297) +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 6 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 6 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 0 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 0 +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=6 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=0 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Thu Oct 16 15:54:11 CST 2025] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 52 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=52 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 52 +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [52] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [52] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [52] +2025-10-16 15:54:11 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [52] +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 52 +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID52: 成功=true +2025-10-16 15:54:11 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== +2025-10-16 15:54:55 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) +2025-10-16 15:54:56 [Thread-6] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:54:56 [Thread-6] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-16 15:54:56 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:54:56 [Thread-6] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:54:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:54:56 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:54:56 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:54:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:54:56 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 3 JPA repository interfaces. +2025-10-16 15:54:56 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:54:56 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:54:56 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:54:56 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:54:56 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:54:56 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 233 ms +2025-10-16 15:54:56 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:54:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:54:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:54:56 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:54:56 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:54:56 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:54:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:54:56 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:54:56 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:54:56 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -2025-10-12 11:24:24 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -java.lang.IllegalStateException: Failed to execute ApplicationRunner - at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:776) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:763) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] - at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) ~[classes/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] -Caused by: org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement - at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:276) ~[spring-orm-5.3.23.jar:5.3.23] - at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:233) ~[spring-orm-5.3.23.jar:5.3.23] - at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) ~[spring-orm-5.3.23.jar:5.3.23] - at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.3.23.jar:5.3.23] - at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.3.23.jar:5.3.23] - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) ~[spring-tx-5.3.23.jar:5.3.23] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:174) ~[spring-data-jpa-2.6.9.jar:2.6.9] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:215) ~[spring-aop-5.3.23.jar:5.3.23] - at jdk.proxy5/jdk.proxy5.$Proxy139.save(Unknown Source) ~[na:na] - at com.qf.myafterprojecy.init.MessageDataInit.addInitialMessages(MessageDataInit.java:63) ~[classes/:na] - at com.qf.myafterprojecy.init.MessageDataInit.run(MessageDataInit.java:36) ~[classes/:na] - at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:773) ~[spring-boot-2.6.13.jar:2.6.13] - ... 8 common frames omitted -Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement - at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:37) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.dialect.identity.GetGeneratedKeysDelegate.executeAndExtract(GetGeneratedKeysDelegate.java:58) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3279) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3885) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:84) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:645) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:282) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:263) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:317) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:330) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:287) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:193) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:107) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:756) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:742) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311) ~[spring-orm-5.3.23.jar:5.3.23] - at jdk.proxy5/jdk.proxy5.$Proxy136.persist(Unknown Source) ~[na:na] - at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:647) ~[spring-data-jpa-2.6.9.jar:2.6.9] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.data.repository.core.support.RepositoryMethodInvoker$RepositoryFragmentMethodInvoker.lambda$new$0(RepositoryMethodInvoker.java:289) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.data.repository.core.support.RepositoryMethodInvoker.doInvoke(RepositoryMethodInvoker.java:137) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.data.repository.core.support.RepositoryMethodInvoker.invoke(RepositoryMethodInvoker.java:121) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.data.repository.core.support.RepositoryComposition$RepositoryFragments.invoke(RepositoryComposition.java:530) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.data.repository.core.support.RepositoryComposition.invoke(RepositoryComposition.java:286) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.data.repository.core.support.RepositoryFactorySupport$ImplementationMethodExecutionInterceptor.invoke(RepositoryFactorySupport.java:640) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:164) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:139) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:81) ~[spring-data-commons-2.6.9.jar:2.6.9] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.23.jar:5.3.23] - at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.23.jar:5.3.23] - at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.23.jar:5.3.23] - at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.23.jar:5.3.23] - at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ~[spring-tx-5.3.23.jar:5.3.23] - ... 18 common frames omitted -Caused by: java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`webporject`.`message`, CONSTRAINT `message_parent_parentid_fk` FOREIGN KEY (`parentid`) REFERENCES `parent` (`parentid`)) - at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) ~[mysql-connector-j-8.0.31.jar:8.0.31] - at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-j-8.0.31.jar:8.0.31] - at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) ~[mysql-connector-j-8.0.31.jar:8.0.31] - at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1061) ~[mysql-connector-j-8.0.31.jar:8.0.31] - at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1009) ~[mysql-connector-j-8.0.31.jar:8.0.31] - at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1320) ~[mysql-connector-j-8.0.31.jar:8.0.31] - at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:994) ~[mysql-connector-j-8.0.31.jar:8.0.31] - at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-4.0.3.jar:na] - at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-4.0.3.jar:na] - at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] - ... 61 common frames omitted -2025-10-12 11:24:24 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:24:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:24:24 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:30:20 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:30:20 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:30:20 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 5 ms. Found 2 JPA repository interfaces. -2025-10-12 11:30:20 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:30:20 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:30:20 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:30:20 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:30:20 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:30:20 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 132 ms -2025-10-12 11:30:20 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:30:20 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:30:20 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:30:20 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:30:20 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:30:20 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:20 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: c7a72702-927a-43dc-bb0c-8a3e8118010a - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:30:20 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4bddb573, org.springframework.security.web.context.SecurityContextPersistenceFilter@205622f, org.springframework.security.web.header.HeaderWriterFilter@21537b37, org.springframework.security.web.authentication.logout.LogoutFilter@53983ea9, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1a0aa120, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@78887036, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4cd32968, org.springframework.security.web.access.ExceptionTranslationFilter@6fa84ce6, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@5e4fdd69] -2025-10-12 11:30:20 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:30:20 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:30:20 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.328 seconds (JVM running for 3812.448) -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 1 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 1 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 1 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 1 -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 0 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=1 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=系统用户 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=1 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:30:20 CST 2025] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 3 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=3 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 3 -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-12 11:30:20 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [3] -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 3 -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID3: 成功=true -2025-10-12 11:30:20 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:30:20 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:30:33 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) -2025-10-12 11:30:33 [Thread-7] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:30:33 [Thread-7] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:33 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:30:33 [Thread-7] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:30:33 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:30:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:30:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 5 ms. Found 2 JPA repository interfaces. -2025-10-12 11:30:33 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:30:33 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:30:33 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:30:33 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:30:33 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:30:33 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 128 ms -2025-10-12 11:30:33 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:30:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:30:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:30:33 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:30:33 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:30:33 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:33 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: ff42f018-f41d-4a98-82c4-c567e0a609b0 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:30:33 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@56e84a70, org.springframework.security.web.context.SecurityContextPersistenceFilter@305e0537, org.springframework.security.web.header.HeaderWriterFilter@717fd9c5, org.springframework.security.web.authentication.logout.LogoutFilter@13c9f951, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3632a2d0, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5c406208, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@35050f85, org.springframework.security.web.access.ExceptionTranslationFilter@3ceace50, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@118f45b6] -2025-10-12 11:30:33 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:30:33 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:30:33 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.308 seconds (JVM running for 3825.257) -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 1 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 1 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 1 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 1 -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 0 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=1 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=系统用户 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=1 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:30:33 CST 2025] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 4 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=4 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 4 -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-12 11:30:33 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [4] -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 4 -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID4: 成功=true -2025-10-12 11:30:33 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:30:33 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:30:44 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 2 class path changes (0 additions, 2 deletions, 0 modifications) -2025-10-12 11:30:44 [Thread-15] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:30:44 [Thread-15] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:44 [Thread-15] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:30:44 [Thread-15] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:30:44 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:30:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:30:44 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 4 ms. Found 2 JPA repository interfaces. -2025-10-12 11:30:44 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:30:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:30:44 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:30:44 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:30:44 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:30:44 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 120 ms -2025-10-12 11:30:44 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:30:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:30:44 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:30:44 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:30:44 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:30:44 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:44 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 25d81763-fbe6-40ba-b760-0ed3d04fcd7f - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:30:44 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2454aaaa, org.springframework.security.web.context.SecurityContextPersistenceFilter@4fcde550, org.springframework.security.web.header.HeaderWriterFilter@6f4adbfd, org.springframework.security.web.authentication.logout.LogoutFilter@11119b6c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@17e882c9, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@8faa8b2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@4af05692, org.springframework.security.web.access.ExceptionTranslationFilter@3ee42d33, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@325b956] -2025-10-12 11:30:44 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:30:44 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:30:44 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.293 seconds (JVM running for 3836.029) -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 1 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 1 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 1 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 1 -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 0 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=1 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=系统用户 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=1 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:30:44 CST 2025] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 5 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=5 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 5 -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-12 11:30:44 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [5] -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 5 -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID5: 成功=true -2025-10-12 11:30:44 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:30:44 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:30:46 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) -2025-10-12 11:30:46 [Thread-19] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:30:46 [Thread-19] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:46 [Thread-19] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:30:46 [Thread-19] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:30:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:30:46 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:30:46 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:30:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:30:47 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 4 ms. Found 2 JPA repository interfaces. -2025-10-12 11:30:47 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:30:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:30:47 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:30:47 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:30:47 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:30:47 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 123 ms -2025-10-12 11:30:47 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:30:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:30:47 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:30:47 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:30:47 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:30:47 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:47 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: d762f850-ec15-4129-994b-94f2fd7c8043 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:30:47 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@a191858, org.springframework.security.web.context.SecurityContextPersistenceFilter@5641aa68, org.springframework.security.web.header.HeaderWriterFilter@57615bd2, org.springframework.security.web.authentication.logout.LogoutFilter@38b3c7d7, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@337d6754, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3e1840f0, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@6a2df647, org.springframework.security.web.access.ExceptionTranslationFilter@fa04912, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@8b577cc] -2025-10-12 11:30:47 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:30:47 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:30:47 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.298 seconds (JVM running for 3838.787) -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 1 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 1 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 1 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 1 -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 0 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=1 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=系统用户 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=1 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:30:47 CST 2025] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 6 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=6 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 6 -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:30:47 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 6 -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID6: 成功=true -2025-10-12 11:30:47 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:30:47 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:30:59 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) -2025-10-12 11:30:59 [Thread-23] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:30:59 [Thread-23] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:30:59 [Thread-23] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:30:59 [Thread-23] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:30:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:30:59 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:30:59 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:30:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:30:59 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 4 ms. Found 2 JPA repository interfaces. -2025-10-12 11:30:59 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:30:59 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:30:59 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:30:59 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:30:59 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:30:59 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 119 ms -2025-10-12 11:30:59 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:30:59 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:30:59 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:30:59 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:30:59 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:30:59 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:31:00 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 8db8b125-b0e3-4a0e-8a80-20743e2e8c8d - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:31:00 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@f63db32, org.springframework.security.web.context.SecurityContextPersistenceFilter@48084b99, org.springframework.security.web.header.HeaderWriterFilter@36cc1e83, org.springframework.security.web.authentication.logout.LogoutFilter@65fb94dd, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5e051742, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@394b679f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@40d96d5d, org.springframework.security.web.access.ExceptionTranslationFilter@3e7b2a4f, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@dd261a7] -2025-10-12 11:31:00 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:31:00 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:31:00 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.279 seconds (JVM running for 3851.579) -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 1 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 1 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 1 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 1 -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 1 -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 0 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=1 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=系统用户 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=1 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=1 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:00 CST 2025] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 7 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=7 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 7 -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [7] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [7] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [7] -2025-10-12 11:31:00 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [7] -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 7 -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID7: 成功=true -2025-10-12 11:31:00 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:31:00 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:31:38 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-12 11:31:38 [Thread-27] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:31:38 [Thread-27] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:31:38 [Thread-27] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:31:38 [Thread-27] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:31:38 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:31:38 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:31:38 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:31:38 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:31:38 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 5 ms. Found 2 JPA repository interfaces. -2025-10-12 11:31:38 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:31:38 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:31:38 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:31:38 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:31:38 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:31:38 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 127 ms -2025-10-12 11:31:38 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:31:38 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:31:38 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:31:38 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:31:38 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:31:38 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:31:38 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 2f74e453-a10b-4aaf-87a4-2eefd9073782 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:31:38 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@63725e0a, org.springframework.security.web.context.SecurityContextPersistenceFilter@246e4960, org.springframework.security.web.header.HeaderWriterFilter@dc26678, org.springframework.security.web.authentication.logout.LogoutFilter@407bb361, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@37597da4, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@8678b4b, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3ec9c70e, org.springframework.security.web.access.ExceptionTranslationFilter@4dce59f5, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@45f38bd9] -2025-10-12 11:31:39 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:31:39 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:31:39 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.329 seconds (JVM running for 3890.539) -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 0 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中没有消息数据,开始添加初始化数据... -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是系统自动添加的第一条评论,欢迎使用本系统!] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:39 CST 2025] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [system@example.com] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [系统用户] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [感谢您的支持,如有任何问题请随时联系我们!] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:39 CST 2025] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [admin@example.com] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [管理员] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这篇文章写得非常好,学到了很多知识。] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:39 CST 2025] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [visitor@example.com] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [访客] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是测试内容1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:39 CST 2025] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test1@example.com] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [回复测试内容1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:39 CST 2025] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test2@example.com] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户2] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [4] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.init.MessageDataInit - 成功添加了5条初始化消息数据 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 5 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 4 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 0 -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 4 -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=5 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=系统用户 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=4 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:39 CST 2025] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 6 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=6 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 6 -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:31:39 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [6] -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 6 -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID6: 成功=true -2025-10-12 11:31:39 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:31:39 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:31:41 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (0 additions, 0 deletions, 1 modification) -2025-10-12 11:31:41 [Thread-31] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:31:41 [Thread-31] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:31:41 [Thread-31] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:31:41 [Thread-31] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:31:41 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:31:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:31:41 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 5 ms. Found 2 JPA repository interfaces. -2025-10-12 11:31:41 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:31:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:31:41 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:31:41 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:31:41 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:31:41 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 129 ms -2025-10-12 11:31:41 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:31:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:31:41 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:31:41 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:31:41 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:31:41 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:31:41 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 2436b596-aad5-4ed2-b5b1-f1329fdad9d8 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:31:41 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@20e7e39a, org.springframework.security.web.context.SecurityContextPersistenceFilter@322c8511, org.springframework.security.web.header.HeaderWriterFilter@1b7fffe6, org.springframework.security.web.authentication.logout.LogoutFilter@57aa1d25, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@52f877e2, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@659c578c, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@38655d97, org.springframework.security.web.access.ExceptionTranslationFilter@5a1db9c8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@706aab0] -2025-10-12 11:31:41 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:31:41 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:31:41 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.356 seconds (JVM running for 3893.356) -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 3 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 3 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 2 -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=3 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=2 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:31:41 CST 2025] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 43 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=43 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 43 -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [43] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [43] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [43] -2025-10-12 11:31:41 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [43] -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 43 -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID43: 成功=true -2025-10-12 11:31:41 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:31:41 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:32:10 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) -2025-10-12 11:32:10 [Thread-35] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:32:10 [Thread-35] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:32:10 [Thread-35] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:32:10 [Thread-35] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:32:10 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:32:10 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:32:10 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:32:10 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.qf.myafterprojecy.service.CategoryService] for bean with name 'categoryService' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\service\CategoryService.class]: problem with class file or dependent class; nested exception is java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)Lcom.qf.myafterprojecy.pojo.ResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService -2025-10-12 11:32:10 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - - -Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -2025-10-12 11:32:10 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.qf.myafterprojecy.service.CategoryService] for bean with name 'categoryService' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\service\CategoryService.class]: problem with class file or dependent class; nested exception is java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)Lcom.qf.myafterprojecy.pojo.ResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService - at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1545) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:704) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:674) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1670) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:570) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:536) ~[spring-beans-5.3.23.jar:5.3.23] - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$AutoConfiguredMapperScannerRegistrar.getBeanNameForType(MybatisAutoConfiguration.java:297) ~[mybatis-spring-boot-autoconfigure-2.2.2.jar:2.2.2] - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$AutoConfiguredMapperScannerRegistrar.registerBeanDefinitions(MybatisAutoConfiguration.java:271) ~[mybatis-spring-boot-autoconfigure-2.2.2.jar:2.2.2] - at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:396) ~[spring-context-5.3.23.jar:5.3.23] - at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:987) ~[na:na] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:395) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:157) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] - at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) ~[classes/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] -Caused by: java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)Lcom.qf.myafterprojecy.pojo.ResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService - at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) ~[na:na] - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:132) ~[na:na] - at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:426) ~[na:na] - at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:339) ~[na:na] - at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.findClass(RestartClassLoader.java:160) ~[spring-boot-devtools-2.6.13.jar:2.6.13] - at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:142) ~[spring-boot-devtools-2.6.13.jar:2.6.13] - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ~[na:na] - at java.base/java.lang.Class.forName0(Native Method) ~[na:na] - at java.base/java.lang.Class.forName(Class.java:543) ~[na:na] - at org.springframework.util.ClassUtils.forName(ClassUtils.java:284) ~[spring-core-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:469) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1607) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1534) ~[spring-beans-5.3.23.jar:5.3.23] - ... 30 common frames omitted -2025-10-12 11:32:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:32:57 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:32:57 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:32:57 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.qf.myafterprojecy.service.CategoryService] for bean with name 'categoryService' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\service\CategoryService.class]: problem with class file or dependent class; nested exception is java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)Lcom.qf.myafterprojecy.pojo.ResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService -2025-10-12 11:32:57 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - - -Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -2025-10-12 11:32:57 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.qf.myafterprojecy.service.CategoryService] for bean with name 'categoryService' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\service\CategoryService.class]: problem with class file or dependent class; nested exception is java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)Lcom.qf.myafterprojecy.pojo.ResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService - at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1545) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:704) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:674) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1670) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:570) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:536) ~[spring-beans-5.3.23.jar:5.3.23] - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$AutoConfiguredMapperScannerRegistrar.getBeanNameForType(MybatisAutoConfiguration.java:297) ~[mybatis-spring-boot-autoconfigure-2.2.2.jar:2.2.2] - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$AutoConfiguredMapperScannerRegistrar.registerBeanDefinitions(MybatisAutoConfiguration.java:271) ~[mybatis-spring-boot-autoconfigure-2.2.2.jar:2.2.2] - at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:396) ~[spring-context-5.3.23.jar:5.3.23] - at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:987) ~[na:na] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:395) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:157) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] - at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) ~[classes/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] -Caused by: java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)Lcom.qf.myafterprojecy.pojo.ResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService - at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) ~[na:na] - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:132) ~[na:na] - at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:426) ~[na:na] - at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:339) ~[na:na] - at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.findClass(RestartClassLoader.java:160) ~[spring-boot-devtools-2.6.13.jar:2.6.13] - at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:142) ~[spring-boot-devtools-2.6.13.jar:2.6.13] - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ~[na:na] - at java.base/java.lang.Class.forName0(Native Method) ~[na:na] - at java.base/java.lang.Class.forName(Class.java:543) ~[na:na] - at org.springframework.util.ClassUtils.forName(ClassUtils.java:284) ~[spring-core-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:469) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1607) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1534) ~[spring-beans-5.3.23.jar:5.3.23] - ... 30 common frames omitted -2025-10-12 11:33:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:33:23 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:33:23 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:33:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:33:23 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 0 ms. Found 0 JPA repository interfaces. -2025-10-12 11:33:23 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:33:23 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:33:23 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:33:23 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:33:23 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:33:23 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 113 ms -2025-10-12 11:33:23 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:33:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:33:23 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:33:23 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:33:23 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:33:23 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:33:23 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:33:24 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: 25f6a56e-1000-48c2-93d7-e25c05f7a62c - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:33:24 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@f6712a, org.springframework.security.web.context.SecurityContextPersistenceFilter@af60b31, org.springframework.security.web.header.HeaderWriterFilter@301d11b3, org.springframework.security.web.csrf.CsrfFilter@453f206e, org.springframework.security.web.authentication.logout.LogoutFilter@7e28dc20, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@6e5f8320, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@6dddc2c2, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@54e47e66, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@44939642, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@52be0355, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@26f7d0ec, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2fbed9b1, org.springframework.security.web.session.SessionManagementFilter@1195f17, org.springframework.security.web.access.ExceptionTranslationFilter@27a59835, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@78d6dbb] -2025-10-12 11:33:24 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:33:24 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:33:24 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.214 seconds (JVM running for 3995.535) -2025-10-12 11:33:24 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation delta: - - -========================== -CONDITION EVALUATION DELTA -========================== - - -Positive matches: ------------------ - - SpringBootWebSecurityConfiguration matched: - - found 'session' scope (OnWebApplicationCondition) - - AllNestedConditions 2 matched 0 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter,org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) did not find any beans; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) - - WebSecurityEnablerConfiguration matched: - - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) - - found 'session' scope (OnWebApplicationCondition) - - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) did not find any beans (OnBeanCondition) - - -Negative matches: ------------------ - - None - - -Exclusions: ------------ - - None - - -Unconditional classes: ----------------------- - - None - - - -2025-10-12 11:33:54 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 5 class path changes (5 additions, 0 deletions, 0 modifications) -2025-10-12 11:33:54 [Thread-39] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:33:54 [Thread-39] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:33:54 [Thread-39] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:33:54 [Thread-39] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:33:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:33:54 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:33:54 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:33:54 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.qf.myafterprojecy.service.CategoryService] for bean with name 'categoryService' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\service\CategoryService.class]: problem with class file or dependent class; nested exception is java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)LResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService -2025-10-12 11:33:54 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - - -Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -2025-10-12 11:33:54 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.qf.myafterprojecy.service.CategoryService] for bean with name 'categoryService' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\service\CategoryService.class]: problem with class file or dependent class; nested exception is java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)LResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService - at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1545) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:704) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:674) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1670) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:570) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:536) ~[spring-beans-5.3.23.jar:5.3.23] - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$AutoConfiguredMapperScannerRegistrar.getBeanNameForType(MybatisAutoConfiguration.java:297) ~[mybatis-spring-boot-autoconfigure-2.2.2.jar:2.2.2] - at org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration$AutoConfiguredMapperScannerRegistrar.registerBeanDefinitions(MybatisAutoConfiguration.java:271) ~[mybatis-spring-boot-autoconfigure-2.2.2.jar:2.2.2] - at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:396) ~[spring-context-5.3.23.jar:5.3.23] - at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:987) ~[na:na] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:395) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:157) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:129) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:343) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.23.jar:5.3.23] - at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] - at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) ~[classes/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] -Caused by: java.lang.ClassFormatError: Duplicate method name "updateCategory" with signature "(Ljava.lang.Integer;LCategoryDto;)LResponseMessage;" in class file com/qf/myafterprojecy/service/CategoryService - at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] - at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:962) ~[na:na] - at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:132) ~[na:na] - at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:426) ~[na:na] - at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:339) ~[na:na] - at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.findClass(RestartClassLoader.java:160) ~[spring-boot-devtools-2.6.13.jar:2.6.13] - at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:142) ~[spring-boot-devtools-2.6.13.jar:2.6.13] - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ~[na:na] - at java.base/java.lang.Class.forName0(Native Method) ~[na:na] - at java.base/java.lang.Class.forName(Class.java:543) ~[na:na] - at org.springframework.util.ClassUtils.forName(ClassUtils.java:284) ~[spring-core-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:469) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1607) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1534) ~[spring-beans-5.3.23.jar:5.3.23] - ... 30 common frames omitted -2025-10-12 11:34:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:34:04 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:34:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:34:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:34:04 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 0 ms. Found 0 JPA repository interfaces. -2025-10-12 11:34:04 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:34:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:34:04 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:34:04 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:34:04 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:34:04 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 97 ms -2025-10-12 11:34:04 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:34:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:34:04 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:34:04 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:34:04 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:34:04 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:34:04 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:34:04 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: c20d68ed-c68d-4f24-aac7-5e772ce63044 - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:34:04 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@3b4d12d0, org.springframework.security.web.context.SecurityContextPersistenceFilter@4442215b, org.springframework.security.web.header.HeaderWriterFilter@1d546f44, org.springframework.security.web.csrf.CsrfFilter@db27616, org.springframework.security.web.authentication.logout.LogoutFilter@24feb0ce, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@78c62e46, org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter@4009e81b, org.springframework.security.web.authentication.ui.DefaultLogoutPageGeneratingFilter@615d2aff, org.springframework.security.web.authentication.www.BasicAuthenticationFilter@7db8997c, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@531c58ec, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6d8c2384, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@28209c8c, org.springframework.security.web.session.SessionManagementFilter@5a5eeec0, org.springframework.security.web.access.ExceptionTranslationFilter@7bcd8087, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@41a37d23] -2025-10-12 11:34:04 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:34:04 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:34:04 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.195 seconds (JVM running for 4035.757) -2025-10-12 11:34:04 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:34:30 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 4 class path changes (4 additions, 0 deletions, 0 modifications) -2025-10-12 11:34:30 [Thread-49] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:34:30 [Thread-49] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:34:30 [Thread-49] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:34:30 [Thread-49] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:34:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:34:30 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:34:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:34:30 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:34:30 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 0 ms. Found 0 JPA repository interfaces. -2025-10-12 11:34:30 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:34:30 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:34:30 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:34:30 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:34:30 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:34:30 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 111 ms -2025-10-12 11:34:30 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:34:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:34:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:34:30 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:34:30 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:34:30 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:34:30 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'categoryController': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.qf.myafterprojecy.controller.CategoryController] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@6a0e4f05] -2025-10-12 11:34:30 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:34:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:34:30 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:34:30 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:34:30 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - - -Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -2025-10-12 11:34:30 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'categoryController': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.qf.myafterprojecy.controller.CategoryController] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@6a0e4f05] - at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:289) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1302) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1219) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.23.jar:5.3.23] +2025-10-16 15:54:56 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] - at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) ~[classes/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] -Caused by: java.lang.IllegalStateException: Failed to introspect Class [com.qf.myafterprojecy.controller.CategoryController] from ClassLoader [org.springframework.boot.devtools.restart.classloader.RestartClassLoader@6a0e4f05] - at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:485) ~[spring-core-5.3.23.jar:5.3.23] - at org.springframework.util.ReflectionUtils.doWithLocalMethods(ReflectionUtils.java:321) ~[spring-core-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:267) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] ... 21 common frames omitted -Caused by: java.lang.NoClassDefFoundError: ResponseMessage - at java.base/java.lang.Class.getDeclaredMethods0(Native Method) ~[na:na] - at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3035) ~[na:na] - at java.base/java.lang.Class.getDeclaredMethods(Class.java:2331) ~[na:na] - at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:467) ~[spring-core-5.3.23.jar:5.3.23] - ... 23 common frames omitted -Caused by: java.lang.ClassNotFoundException: ResponseMessage - at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580) ~[na:na] - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ~[na:na] - at java.base/java.lang.Class.forName0(Native Method) ~[na:na] - at java.base/java.lang.Class.forName(Class.java:543) ~[na:na] - at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145) ~[spring-boot-devtools-2.6.13.jar:2.6.13] - at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:490) ~[na:na] - ... 27 common frames omitted -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:34:42 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:34:42 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:34:42 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 6 ms. Found 3 JPA repository interfaces. -2025-10-12 11:34:42 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:34:42 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:34:42 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:34:42 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:34:42 [main] INFO c.q.m.MyAfterProjecyApplicationTests - Starting MyAfterProjecyApplicationTests using Java 24.0.2 on DESKTOP-8G5GS0I with PID 38484 (started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:34:42 [main] DEBUG c.q.m.MyAfterProjecyApplicationTests - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:34:42 [main] INFO c.q.m.MyAfterProjecyApplicationTests - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:34:42 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:34:42 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 152 ms -2025-10-12 11:34:42 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:34:42 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:34:42 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:34:42 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:34:42 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:34:42 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:34:42 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 43 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file -Using generated security password: 2acef3e5-2840-445a-acf4-07da2874da8c - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:34:42 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@17659805, org.springframework.security.web.context.SecurityContextPersistenceFilter@635e31f2, org.springframework.security.web.header.HeaderWriterFilter@3df1d48e, org.springframework.security.web.authentication.logout.LogoutFilter@7ed6edb8, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@574ec247, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@5ff36aad, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@43a4ccaf, org.springframework.security.web.access.ExceptionTranslationFilter@650db714, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@12ed2b2b] -2025-10-12 11:34:42 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:34:42 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:34:42 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.523 seconds (JVM running for 4074.189) -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 3 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 3 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 2 -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=3 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=2 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:34:42 CST 2025] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 44 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=44 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 44 -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [44] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [44] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [44] -2025-10-12 11:34:42 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [44] -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 44 -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID44: 成功=true -2025-10-12 11:34:42 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:34:42 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation delta: - - -========================== -CONDITION EVALUATION DELTA -========================== - - -Positive matches: ------------------ - - None - - -Negative matches: ------------------ - - SpringBootWebSecurityConfiguration: - Did not match: - - AllNestedConditions 1 matched 1 did not; NestedCondition on DefaultWebSecurityCondition.Beans @ConditionalOnMissingBean (types: org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter,org.springframework.security.web.SecurityFilterChain; SearchStrategy: all) found beans of type 'org.springframework.security.web.SecurityFilterChain' filterChain; NestedCondition on DefaultWebSecurityCondition.Classes @ConditionalOnClass found required classes 'org.springframework.security.web.SecurityFilterChain', 'org.springframework.security.config.annotation.web.builders.HttpSecurity' (DefaultWebSecurityCondition) - Matched: - - found 'session' scope (OnWebApplicationCondition) - - WebSecurityEnablerConfiguration: - Did not match: - - @ConditionalOnMissingBean (names: springSecurityFilterChain; SearchStrategy: all) found beans named springSecurityFilterChain (OnBeanCondition) - Matched: - - @ConditionalOnClass found required class 'org.springframework.security.config.annotation.web.configuration.EnableWebSecurity' (OnClassCondition) - - found 'session' scope (OnWebApplicationCondition) - - -Exclusions: ------------ - - None - - -Unconditional classes: ----------------------- - - None - - - -2025-10-12 11:34:42 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:34:43 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 34 ms. Found 3 JPA repository interfaces. -2025-10-12 11:34:43 [main] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:34:43 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:34:43 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final -2025-10-12 11:34:43 [main] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} -2025-10-12 11:34:43 [main] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:34:43 [main] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:34:43 [main] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:34:44 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:34:44 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:34:44 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - - -Using generated security password: a2698c79-ab12-4faf-bc92-ebbf6a0db43e - -This generated password is for development use only. Your security configuration must be updated before running your application in production. - -2025-10-12 11:34:44 [main] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@84becbe, org.springframework.security.web.context.SecurityContextPersistenceFilter@58c36104, org.springframework.security.web.header.HeaderWriterFilter@24520a51, org.springframework.security.web.authentication.logout.LogoutFilter@5ca7619f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@3fb1948c, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@7c39193f, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@13dc383b, org.springframework.security.web.access.ExceptionTranslationFilter@510a2c7, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@354e2bff] -2025-10-12 11:34:44 [main] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:34:45 [main] INFO c.q.m.MyAfterProjecyApplicationTests - Started MyAfterProjecyApplicationTests in 2.997 seconds (JVM running for 3.601) -2025-10-12 11:34:45 [main] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:34:45 [main] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 3 -2025-10-12 11:34:45 [main] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:34:45 [main] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 3 -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 2 -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=3 -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=2 -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:34:45 CST 2025] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 消息保存成功: 45 -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=45 -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 删除消息: 45 -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [45] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [45] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [45] -2025-10-12 11:34:45 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [45] -2025-10-12 11:34:45 [main] INFO c.q.m.service.MessageService - 消息删除成功: 45 -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - 删除消息ID45: 成功=true -2025-10-12 11:34:45 [main] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:34:45 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:34:45 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:34:45 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:35:18 [File Watcher] INFO o.s.b.d.a.LocalDevToolsAutoConfiguration$RestartingClassPathChangeChangedEventListener - Restarting due to 1 class path change (1 addition, 0 deletions, 0 modifications) -2025-10-12 11:35:18 [Thread-56] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:35:18 [Thread-56] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:35:18 [Thread-56] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:35:18 [Thread-56] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:35:18 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:35:18 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:35:18 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:35:18 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:35:18 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 5 ms. Found 3 JPA repository interfaces. -2025-10-12 11:35:18 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:35:18 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:35:18 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:35:18 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:35:18 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:35:18 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 119 ms -2025-10-12 11:35:18 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:35:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:35:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:35:18 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:35:18 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:35:18 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:35:18 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'categoryDataInit' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\init\CategoryDataInit.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.qf.myafterprojecy.init.CategoryDataInit]: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problems: - The import com.qf.myafterprojecy.pojo.Category cannot be resolved - The import com.qf.myafterprojecy.repository cannot be resolved - CategoryRepository cannot be resolved to a type - CategoryRepository cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - CategoryRepository cannot be resolved to a type - -2025-10-12 11:35:18 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:35:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:35:18 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:35:18 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] -2025-10-12 11:35:18 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 48 common frames omitted +2025-10-16 15:55:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:55:13 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:55:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:55:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:55:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 3 JPA repository interfaces. +2025-10-16 15:55:13 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:55:13 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:55:13 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:55:13 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:55:13 [restartedMain] INFO o.a.c.c.C.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:55:13 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 227 ms +2025-10-16 15:55:13 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:55:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:55:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:55:13 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:55:13 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:13 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:55:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:55:13 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:55:13 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. -2025-10-12 11:35:18 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed -org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'categoryDataInit' defined in file [E:\MyWebProject\MyAfterProjecy\target\classes\com\qf\myafterprojecy\init\CategoryDataInit.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.qf.myafterprojecy.init.CategoryDataInit]: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problems: - The import com.qf.myafterprojecy.pojo.Category cannot be resolved - The import com.qf.myafterprojecy.repository cannot be resolved - CategoryRepository cannot be resolved to a type - CategoryRepository cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - CategoryRepository cannot be resolved to a type - - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1232) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.23.jar:5.3.23] +2025-10-16 15:55:13 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.13.jar:2.6.13] - at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.13.jar:2.6.13] - at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) ~[classes/:na] - at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na] - at java.base/java.lang.reflect.Method.invoke(Method.java:565) ~[na:na] - at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.6.13.jar:2.6.13] -Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.qf.myafterprojecy.init.CategoryDataInit]: Constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problems: - The import com.qf.myafterprojecy.pojo.Category cannot be resolved - The import com.qf.myafterprojecy.repository cannot be resolved - CategoryRepository cannot be resolved to a type - CategoryRepository cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - CategoryRepository cannot be resolved to a type + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] + ... 21 common frames omitted +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 43 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file - at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:224) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) ~[spring-beans-5.3.23.jar:5.3.23] - at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1326) ~[spring-beans-5.3.23.jar:5.3.23] - ... 20 common frames omitted -Caused by: java.lang.Error: Unresolved compilation problems: - The import com.qf.myafterprojecy.pojo.Category cannot be resolved - The import com.qf.myafterprojecy.repository cannot be resolved - CategoryRepository cannot be resolved to a type - CategoryRepository cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - Category cannot be resolved to a type - CategoryRepository cannot be resolved to a type + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 48 common frames omitted +2025-10-16 15:55:19 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:55:19 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:55:19 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:55:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:55:19 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 24 ms. Found 3 JPA repository interfaces. +2025-10-16 15:55:19 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:55:19 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:55:19 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:55:19 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:55:19 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:55:19 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 293 ms +2025-10-16 15:55:19 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:55:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:55:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:55:19 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:55:19 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:19 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:55:19 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:55:19 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:55:19 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - - at com.qf.myafterprojecy.init.CategoryDataInit.(CategoryDataInit.java:3) ~[classes/:na] - at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62) ~[na:na] - at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na] - at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483) ~[na:na] - at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:211) ~[spring-beans-5.3.23.jar:5.3.23] - ... 22 common frames omitted -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 24.0.2 on DESKTOP-8G5GS0I with PID 34264 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:35:29 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:35:29 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:35:29 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 7 ms. Found 3 JPA repository interfaces. -2025-10-12 11:35:29 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:35:29 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 11:35:29 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 11:35:29 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 11:35:29 [restartedMain] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 11:35:29 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 161 ms -2025-10-12 11:35:29 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:35:29 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:35:29 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:35:29 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:35:29 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:35:29 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:35:29 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2025-10-16 15:55:19 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] + ... 21 common frames omitted +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 43 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file -Using generated security password: 62e69c4a-ef27-4786-b956-8447e1932f15 + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 48 common frames omitted +2025-10-16 15:55:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:55:31 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:55:31 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:55:31 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:55:31 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 3 JPA repository interfaces. +2025-10-16 15:55:31 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:55:31 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:55:31 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:55:31 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:55:31 [restartedMain] INFO o.a.c.c.C.[Tomcat-3].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:55:31 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 200 ms +2025-10-16 15:55:31 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:55:31 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:55:31 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:55:31 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:55:31 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:31 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:31 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:55:31 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:55:31 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:55:31 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - -This generated password is for development use only. Your security configuration must be updated before running your application in production. +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2025-10-16 15:55:31 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] + ... 21 common frames omitted +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.GeneratedConstructorAccessor67.newInstance(Unknown Source) ~[na:na] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 42 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file -2025-10-12 11:35:29 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@66c2f22e, org.springframework.security.web.context.SecurityContextPersistenceFilter@40f2a112, org.springframework.security.web.header.HeaderWriterFilter@6887ac2f, org.springframework.security.web.authentication.logout.LogoutFilter@6716c827, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@5de028a5, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@678a3b49, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@2125a3ac, org.springframework.security.web.access.ExceptionTranslationFilter@1a940898, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@266673e3] -2025-10-12 11:35:29 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:35:29 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 11:35:29 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 0.416 seconds (JVM running for 4121.334) -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 0 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中没有分类数据,开始添加初始化数据... -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [技术文章、教程、经验分享等] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [VARCHAR] - [技术分享] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [日常生活、心情记录、随笔等] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [VARCHAR] - [生活随笔] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [学习过程中的笔记、总结等] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [VARCHAR] - [学习笔记] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [行业新闻、趋势分析等] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [VARCHAR] - [行业动态] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [TIMESTAMP] - [2025-10-12T11:35:29.826637400] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.CategoryDataInit - 成功添加 4 条分类数据 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 3 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 3 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 2 -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=3 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=2 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:35:29 CST 2025] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 46 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=46 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 46 -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [46] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [46] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [46] -2025-10-12 11:35:29 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [46] -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 46 -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID46: 成功=true -2025-10-12 11:35:29 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:35:29 [restartedMain] INFO o.s.b.d.a.ConditionEvaluationDeltaLoggingListener - Condition evaluation unchanged -2025-10-12 11:35:29 [main] INFO c.q.m.MyAfterProjecyApplicationTests - Starting MyAfterProjecyApplicationTests using Java 24.0.2 on DESKTOP-8G5GS0I with PID 44884 (started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 11:35:29 [main] DEBUG c.q.m.MyAfterProjecyApplicationTests - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 11:35:29 [main] INFO c.q.m.MyAfterProjecyApplicationTests - No active profile set, falling back to 1 default profile: "default" -2025-10-12 11:35:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 11:35:30 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 30 ms. Found 3 JPA repository interfaces. -2025-10-12 11:35:30 [main] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 11:35:30 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 11:35:30 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final -2025-10-12 11:35:30 [main] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} -2025-10-12 11:35:30 [main] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 11:35:31 [main] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 11:35:31 [main] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 11:35:31 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 11:35:31 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:35:31 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 47 common frames omitted +2025-10-16 15:55:51 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:55:51 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:55:51 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:55:51 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:55:51 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22 ms. Found 3 JPA repository interfaces. +2025-10-16 15:55:51 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:55:51 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:55:51 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:55:51 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:55:51 [restartedMain] INFO o.a.c.c.C.[Tomcat-4].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:55:51 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 250 ms +2025-10-16 15:55:51 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:55:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:55:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:55:51 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:55:51 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:51 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:55:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:55:51 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:55:51 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:55:51 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - -Using generated security password: 4ef7d334-b042-4207-8bac-4b576561d33d +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2025-10-16 15:55:51 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] + ... 21 common frames omitted +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.GeneratedConstructorAccessor67.newInstance(Unknown Source) ~[na:na] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 42 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file -This generated password is for development use only. Your security configuration must be updated before running your application in production. + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 47 common frames omitted +2025-10-16 15:56:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:56:45 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:56:45 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:56:45 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:56:45 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12 ms. Found 3 JPA repository interfaces. +2025-10-16 15:56:45 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:56:45 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:56:45 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:56:45 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:56:45 [restartedMain] INFO o.a.c.c.C.[Tomcat-5].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:56:45 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 209 ms +2025-10-16 15:56:45 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:56:45 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:56:45 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:56:45 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:56:45 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:56:45 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:56:45 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:56:45 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:56:45 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:56:45 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - -2025-10-12 11:35:31 [main] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@4d2950ed, org.springframework.security.web.context.SecurityContextPersistenceFilter@1896299b, org.springframework.security.web.header.HeaderWriterFilter@63c6c5e5, org.springframework.security.web.authentication.logout.LogoutFilter@6dfebd2a, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@357cdb00, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@1c0fe6c5, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@3095d06b, org.springframework.security.web.access.ExceptionTranslationFilter@54a033b8, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@7253c53] -2025-10-12 11:35:32 [main] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 11:35:32 [main] INFO c.q.m.MyAfterProjecyApplicationTests - Started MyAfterProjecyApplicationTests in 2.735 seconds (JVM running for 3.417) -2025-10-12 11:35:32 [main] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-12 11:35:32 [main] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 -2025-10-12 11:35:32 [main] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 -2025-10-12 11:35:32 [main] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-12 11:35:32 [main] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 11:35:32 [main] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 3 -2025-10-12 11:35:32 [main] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 11:35:32 [main] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 3 -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 2 -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=3 -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=2 -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 11:35:32 CST 2025] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 消息保存成功: 47 -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=47 -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 删除消息: 47 -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [47] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [47] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [47] -2025-10-12 11:35:32 [main] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [47] -2025-10-12 11:35:32 [main] INFO c.q.m.service.MessageService - 消息删除成功: 47 -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - 删除消息ID47: 成功=true -2025-10-12 11:35:32 [main] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 11:35:32 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 11:35:32 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 11:35:32 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 11:39:41 [http-nio-8080-exec-1] INFO o.a.c.c.C.[Tomcat-2].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-12 11:39:41 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-12 11:39:41 [http-nio-8080-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 0 ms -2025-10-12 11:52:33 [http-nio-8080-exec-7] ERROR c.q.m.GlobalExceptionHandler - 请求路径:/api/articles/category/:type,异常消息:Required URI template variable 'typeid' for method parameter type Integer is not present -2025-10-12 11:52:33 [http-nio-8080-exec-6] INFO c.q.m.controller.CategoryController - 接收获取所有分类列表的请求 -2025-10-12 11:52:33 [http-nio-8080-exec-7] WARN o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver - Resolved [org.springframework.web.bind.MissingPathVariableException: Required URI template variable 'typeid' for method parameter type Integer is not present] -2025-10-12 12:54:41 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 12:54:41 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 12:55:25 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收创建消息的请求: 1 -2025-10-12 12:55:25 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 保存消息: 1 -2025-10-12 12:55:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [null] -2025-10-12 12:55:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [1] -2025-10-12 12:55:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 12:55:25 CST 2025] -2025-10-12 12:55:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [1] -2025-10-12 12:55:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [1] -2025-10-12 12:55:25 [http-nio-8080-exec-2] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 12:55:25 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 消息保存成功: 48 -2025-10-12 12:55:25 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 12:55:25 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 12:59:19 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 12:59:19 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 12:59:19 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. -2025-10-12 12:59:32 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 22792 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) -2025-10-12 12:59:32 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 -2025-10-12 12:59:32 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" -2025-10-12 12:59:32 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable -2025-10-12 12:59:32 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' -2025-10-12 12:59:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. -2025-10-12 12:59:33 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 51 ms. Found 3 JPA repository interfaces. -2025-10-12 12:59:33 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. -2025-10-12 12:59:34 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) -2025-10-12 12:59:34 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] -2025-10-12 12:59:34 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] -2025-10-12 12:59:34 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext -2025-10-12 12:59:34 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1615 ms -2025-10-12 12:59:34 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] -2025-10-12 12:59:34 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final -2025-10-12 12:59:34 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} -2025-10-12 12:59:35 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... -2025-10-12 12:59:35 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. -2025-10-12 12:59:35 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect -2025-10-12 12:59:36 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] -2025-10-12 12:59:36 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 12:59:37 [restartedMain] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2025-10-16 15:56:45 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] + ... 21 common frames omitted +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.GeneratedConstructorAccessor67.newInstance(Unknown Source) ~[na:na] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 42 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file -Using generated security password: cf7059e7-52c0-4327-bc25-02f37c428aec + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 47 common frames omitted +2025-10-16 15:56:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:56:55 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:56:55 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:56:55 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:56:55 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 3 JPA repository interfaces. +2025-10-16 15:56:55 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:56:55 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:56:55 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:56:55 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:56:55 [restartedMain] INFO o.a.c.c.C.[Tomcat-6].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:56:55 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 180 ms +2025-10-16 15:56:55 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:56:55 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:56:55 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:56:55 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:56:55 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:56:55 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:56:55 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:56:55 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:56:55 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:56:55 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - -This generated password is for development use only. Your security configuration must be updated before running your application in production. +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2025-10-16 15:56:55 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] + ... 21 common frames omitted +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.GeneratedConstructorAccessor67.newInstance(Unknown Source) ~[na:na] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 42 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file -2025-10-12 12:59:37 [restartedMain] INFO o.s.s.web.DefaultSecurityFilterChain - Will secure any request with [org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@2e92ca10, org.springframework.security.web.context.SecurityContextPersistenceFilter@4dacd83, org.springframework.security.web.header.HeaderWriterFilter@57f6ef2d, org.springframework.security.web.authentication.logout.LogoutFilter@7c39bc88, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@1ac12596, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@6f48f606, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@5e286d5c, org.springframework.security.web.access.ExceptionTranslationFilter@410de531, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@48dfe354] -2025-10-12 12:59:37 [restartedMain] INFO o.s.b.a.w.s.WelcomePageHandlerMapping - Adding welcome page: class path resource [static/index.html] -2025-10-12 12:59:38 [restartedMain] INFO o.s.b.d.a.OptionalLiveReloadServer - LiveReload server is running on port 35729 -2025-10-12 12:59:38 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port(s): 8080 (http) with context path '' -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Started MyAfterProjecyApplication in 5.866 seconds (JVM running for 6.561) -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化开始 ===== -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.CategoryDataInit - 当前数据库中分类数量: 4 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.CategoryDataInit - 数据库中已存在分类数据,无需初始化 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.CategoryDataInit - ===== 分类数据初始化结束 ===== -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化开始 ===== -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.MessageDataInit - 当前数据库中消息数量: 4 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.MessageDataInit - 数据库中已存在消息数据,无需初始化 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.init.MessageDataInit - ===== 消息数据初始化结束 ===== -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器开始运行 ===== -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 当前数据库中消息数量: 4 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Repository查询方法 ===== -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的消息数量: 2 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根消息数量: 3 -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [VARCHAR] - [%张%] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [CHAR] - [\] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 昵称包含'张'的消息数量: 1 -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 文章ID为1的评论数量: 2 -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 消息ID为1的回复数量: 1 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 测试Service层方法 ===== -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取所有消息: 成功=true, 消息数量=4 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 根据ID查询消息: 1 -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 根据ID1获取消息: 成功=true, 昵称=张三 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 获取文章评论数量: 1 -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取文章ID为1的评论数量: 成功=true, 数量=2 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 查询所有根消息 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 获取根消息: 成功=true, 数量=3 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 保存消息: 测试用户 -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [1] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [这是一条测试消息] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 12:59:38 CST 2025] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [test@example.com] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [测试用户] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 消息保存成功: 49 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 保存新消息: 成功=true, 消息ID=49 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 删除消息: 49 -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [49] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [49] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [49] -2025-10-12 12:59:38 [restartedMain] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [49] -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.service.MessageService - 消息删除成功: 49 -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - 删除消息ID49: 成功=true -2025-10-12 12:59:38 [restartedMain] INFO c.q.m.runner.MessageDataChecker - ===== 消息数据检查器运行结束 ===== -2025-10-12 13:00:07 [http-nio-8080-exec-2] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' -2025-10-12 13:00:07 [http-nio-8080-exec-2] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' -2025-10-12 13:00:07 [http-nio-8080-exec-2] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 1 ms -2025-10-12 13:00:13 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:00:13 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:00:46 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:00:46 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:01:07 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:01:07 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:01:19 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:01:19 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:02:17 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:02:17 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:12:00 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:12:00 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:12:34 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:12:34 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:13:36 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:13:36 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:14:26 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:14:26 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:14:34 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:14:34 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:15:01 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收创建消息的请求: 1 -2025-10-12 13:15:01 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 保存消息: 1 -2025-10-12 13:15:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [null] -2025-10-12 13:15:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [1] -2025-10-12 13:15:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 13:15:01 CST 2025] -2025-10-12 13:15:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [1] -2025-10-12 13:15:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [1] -2025-10-12 13:15:01 [http-nio-8080-exec-9] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 13:15:01 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 消息保存成功: 50 -2025-10-12 13:15:01 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:15:01 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:15:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:15:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:15:10 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:15:10 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:15:48 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:15:48 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:17:42 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:17:42 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:17:57 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:17:57 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:16 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:16 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:18 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:18 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:20 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:20 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:22 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:22 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:55 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:55 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:56 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:56 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:57 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:57 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:18:59 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:18:59 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:19:02 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:19:02 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:19:05 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:19:05 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:22:42 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:22:42 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:23:03 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:23:03 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:23:06 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:23:06 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:24:50 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:24:50 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:25:22 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:25:22 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:25:38 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:25:38 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:25:43 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:25:43 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:26:02 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:26:02 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:26:05 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:26:05 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:26:14 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:26:14 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:26:47 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:26:47 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:27:03 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:27:03 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:27:06 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:27:06 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:27:36 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:27:36 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:27:37 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:27:37 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:27:40 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:27:40 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:28:52 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:28:52 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:28:54 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:28:54 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:28:56 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:28:56 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:29:18 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:29:18 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:29:28 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:29:28 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:29:49 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:29:49 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:29:54 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:29:54 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:30:04 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:30:04 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:30:20 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:30:20 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:31:10 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:31:10 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:31:13 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:31:13 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:31:19 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:31:19 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:31:20 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:31:20 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:31:58 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:31:58 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:32:21 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:32:21 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:32:22 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:32:22 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:32:26 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:32:26 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:33:07 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:33:07 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:33:18 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:33:18 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:33:27 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:33:27 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:34:18 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收创建消息的请求: 11 -2025-10-12 13:34:18 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 保存消息: 11 -2025-10-12 13:34:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [null] -2025-10-12 13:34:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [2] as [VARCHAR] - [@1 11] -2025-10-12 13:34:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [3] as [TIMESTAMP] - [Sun Oct 12 13:34:18 CST 2025] -2025-10-12 13:34:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [4] as [VARCHAR] - [11] -2025-10-12 13:34:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [5] as [VARCHAR] - [11] -2025-10-12 13:34:18 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [6] as [INTEGER] - [null] -2025-10-12 13:34:18 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 消息保存成功: 51 -2025-10-12 13:34:18 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:34:18 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:38:08 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:38:08 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:38:17 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:38:17 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:38:19 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:38:19 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:40:27 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:40:27 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:40:30 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:40:30 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:40:34 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:40:34 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:44:55 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:44:55 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:45:19 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:45:19 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:46:11 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:46:11 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:51:24 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:51:24 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:18 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:18 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:19 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:19 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:21 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:21 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:22 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:22 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:24 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:24 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:27 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:27 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:37 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:37 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:40 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:40 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:43 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:43 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:47 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:47 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:52:50 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:52:50 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:54:49 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:54:49 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:56:03 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:56:03 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:13 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:13 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:15 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:15 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:17 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:17 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:22 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:22 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:24 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:24 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:28 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:28 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:30 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:30 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:31 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:31 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 13:59:40 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 13:59:40 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:00:02 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:00:02 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:00:54 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:00:54 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:03:08 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:03:08 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:03:09 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:03:09 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:19 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:19 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:20 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:20 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:21 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:21 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:25 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:25 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:34 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:34 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:37 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:37 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:38 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:38 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:41 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:41 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:04:52 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:04:52 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:05:04 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:05:04 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:07:14 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:07:14 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:07:15 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:07:15 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:07:26 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:07:26 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:07:28 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:07:28 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:07:34 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:07:34 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:07:59 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:07:59 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:00 [http-nio-8080-exec-2] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:00 [http-nio-8080-exec-2] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:04 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:04 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:13 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:13 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:23 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:23 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:25 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:25 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:40 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:40 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:42 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:42 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:08:57 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:08:57 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:09:21 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:09:21 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:09:30 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:09:30 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:10:50 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:10:50 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:10:50 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:10:50 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:11:03 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:11:03 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:11:03 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:11:03 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:11:23 [http-nio-8080-exec-7] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:11:23 [http-nio-8080-exec-7] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:11:27 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:11:27 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:11:29 [http-nio-8080-exec-9] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:11:29 [http-nio-8080-exec-9] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:11:33 [http-nio-8080-exec-10] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:11:33 [http-nio-8080-exec-10] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:11:43 [http-nio-8080-exec-1] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:11:43 [http-nio-8080-exec-1] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:13:57 [http-nio-8080-exec-4] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:13:57 [http-nio-8080-exec-4] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:14:09 [http-nio-8080-exec-3] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:14:09 [http-nio-8080-exec-3] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:14:23 [http-nio-8080-exec-5] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:14:23 [http-nio-8080-exec-5] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:14:24 [http-nio-8080-exec-6] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:14:24 [http-nio-8080-exec-6] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:15:28 [http-nio-8080-exec-8] INFO c.q.m.controller.MessageController - 接收获取所有消息的请求 -2025-10-12 14:15:28 [http-nio-8080-exec-8] INFO c.q.m.service.MessageService - 查询所有消息 -2025-10-12 14:20:56 [http-nio-8080-exec-4] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-12 14:21:20 [http-nio-8080-exec-6] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-12 14:21:26 [http-nio-8080-exec-8] TRACE o.h.type.descriptor.sql.BasicBinder - binding parameter [1] as [INTEGER] - [2] -2025-10-12 18:34:45 [WebProjectHikariCP housekeeper] WARN com.zaxxer.hikari.pool.HikariPool - WebProjectHikariCP - Thread starvation or clock leap detected (housekeeper delta=30m35s799ms914µs800ns). -2025-10-12 20:00:33 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' -2025-10-12 20:00:33 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... -2025-10-12 20:00:33 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 47 common frames omitted +2025-10-16 15:57:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 10448 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:57:13 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:57:13 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:57:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:57:13 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 17 ms. Found 3 JPA repository interfaces. +2025-10-16 15:57:13 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:57:13 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:57:13 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:57:13 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:57:13 [restartedMain] INFO o.a.c.c.C.[Tomcat-7].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:57:13 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 212 ms +2025-10-16 15:57:13 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:57:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:57:13 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:57:13 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:57:14 [restartedMain] ERROR o.s.o.j.LocalContainerEntityManagerFactoryBean - Failed to initialize JPA EntityManagerFactory: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:57:14 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister +2025-10-16 15:57:14 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:57:14 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:57:14 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:57:14 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2025-10-16 15:57:14 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.23.jar:5.3.23] + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) [spring-boot-2.6.13.jar:2.6.13] + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.6.13.jar:2.6.13] + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) [classes/:na] + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_461] + at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_461] + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.6.13.jar:2.6.13] +Caused by: javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:421) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.23.jar:5.3.23] + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.23.jar:5.3.23] + ... 21 common frames omitted +Caused by: org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:182) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:319) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1498) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.23.jar:5.3.23] + at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.23.jar:5.3.23] + ... 25 common frames omitted +Caused by: org.hibernate.InstantiationException: could not instantiate test object : com.qf.myafterprojecy.pojo.category_attribute + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:43) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.engine.internal.UnsavedValueFactory.getUnsavedIdentifierValue(UnsavedValueFactory.java:68) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.PropertyFactory.buildIdentifierAttribute(PropertyFactory.java:65) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.tuple.entity.EntityMetamodel.(EntityMetamodel.java:142) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.AbstractEntityPersister.(AbstractEntityPersister.java:613) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at org.hibernate.persister.entity.SingleTableEntityPersister.(SingleTableEntityPersister.java:126) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + at sun.reflect.GeneratedConstructorAccessor67.newInstance(Unknown Source) ~[na:na] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 33 common frames omitted +Caused by: java.lang.reflect.InvocationTargetException: null + at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_461] + at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_461] + at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_461] + at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_461] + at org.hibernate.engine.internal.UnsavedValueFactory.instantiate(UnsavedValueFactory.java:40) ~[hibernate-core-5.6.12.Final.jar:5.6.12.Final] + ... 42 common frames omitted +Caused by: java.lang.Error: Unresolved compilation problem: + The public type category_attribute must be defined in its own file + + at com.qf.myafterprojecy.pojo.category_attribute.(Category_attribute.java:9) ~[classes/:na] + ... 47 common frames omitted +2025-10-16 15:57:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - Starting MyAfterProjecyApplication using Java 1.8.0_461 on DESKTOP-8G5GS0I with PID 6456 (E:\MyWebProject\MyAfterProjecy\target\classes started by 30803 in E:\MyWebProject\MyAfterProjecy) +2025-10-16 15:57:30 [restartedMain] DEBUG c.q.m.MyAfterProjecyApplication - Running with Spring Boot v2.6.13, Spring v5.3.23 +2025-10-16 15:57:30 [restartedMain] INFO c.q.m.MyAfterProjecyApplication - No active profile set, falling back to 1 default profile: "default" +2025-10-16 15:57:30 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable +2025-10-16 15:57:30 [restartedMain] INFO o.s.b.d.e.DevToolsPropertyDefaultsPostProcessor - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG' +2025-10-16 15:57:31 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-16 15:57:31 [restartedMain] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 56 ms. Found 3 JPA repository interfaces. +2025-10-16 15:57:31 [restartedMain] WARN o.m.s.mapper.ClassPathMapperScanner - No MyBatis mapper was found in '[com.qf.myafterprojecy]' package. Please check your configuration. +2025-10-16 15:57:32 [restartedMain] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8080 (http) +2025-10-16 15:57:32 [restartedMain] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-16 15:57:32 [restartedMain] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.68] +2025-10-16 15:57:32 [restartedMain] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-16 15:57:32 [restartedMain] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1882 ms +2025-10-16 15:57:32 [restartedMain] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-16 15:57:32 [restartedMain] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 5.6.12.Final +2025-10-16 15:57:32 [restartedMain] INFO o.h.annotations.common.Version - HCANN000001: Hibernate Commons Annotations {5.1.2.Final} +2025-10-16 15:57:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Starting... +2025-10-16 15:57:33 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Start completed. +2025-10-16 15:57:33 [restartedMain] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect +2025-10-16 15:57:34 [restartedMain] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] +2025-10-16 15:57:34 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-16 15:57:35 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'articleController': Unsatisfied dependency expressed through field 'articleService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'articleService': Unsatisfied dependency expressed through field 'articleRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleRepository' defined in com.qf.myafterprojecy.repository.ArticleRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer); Reason: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)!; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)! +2025-10-16 15:57:35 [restartedMain] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-16 15:57:35 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown initiated... +2025-10-16 15:57:35 [restartedMain] INFO com.zaxxer.hikari.HikariDataSource - WebProjectHikariCP - Shutdown completed. +2025-10-16 15:57:35 [restartedMain] INFO o.a.catalina.core.StandardService - Stopping service [Tomcat] +2025-10-16 15:57:35 [restartedMain] INFO o.s.b.a.l.ConditionEvaluationReportLoggingListener - + +Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. +2025-10-16 15:57:35 [restartedMain] ERROR o.s.boot.SpringApplication - Application run failed +org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'articleController': Unsatisfied dependency expressed through field 'articleService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'articleService': Unsatisfied dependency expressed through field 'articleRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleRepository' defined in com.qf.myafterprojecy.repository.ArticleRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer); Reason: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)!; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)! + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:955) + at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) + at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) + at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) + at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) + at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) + at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) + at com.qf.myafterprojecy.MyAfterProjecyApplication.main(MyAfterProjecyApplication.java:11) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) +Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'articleService': Unsatisfied dependency expressed through field 'articleRepository'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleRepository' defined in com.qf.myafterprojecy.repository.ArticleRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer); Reason: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)!; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)! + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:659) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) + at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) + ... 25 common frames omitted +Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleRepository' defined in com.qf.myafterprojecy.repository.ArticleRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer); Reason: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)!; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)! + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) + at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) + at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) + at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) + at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) + at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391) + at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311) + at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) + ... 39 common frames omitted +Caused by: org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer); Reason: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)!; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)! + at org.springframework.data.repository.query.QueryCreationException.create(QueryCreationException.java:101) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:107) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lambda$mapMethodsToQuery$1(QueryExecutorMethodInterceptor.java:95) + at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) + at java.util.Iterator.forEachRemaining(Iterator.java:116) + at java.util.Collections$UnmodifiableCollection$1.forEachRemaining(Collections.java:1051) + at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) + at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) + at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) + at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) + at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) + at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.mapMethodsToQuery(QueryExecutorMethodInterceptor.java:97) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lambda$new$0(QueryExecutorMethodInterceptor.java:87) + at java.util.Optional.map(Optional.java:215) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.(QueryExecutorMethodInterceptor.java:87) + at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:365) + at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:323) + at org.springframework.data.util.Lazy.getNullable(Lazy.java:231) + at org.springframework.data.util.Lazy.get(Lazy.java:115) + at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:329) + at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:144) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) + at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) + ... 49 common frames omitted +Caused by: java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.qf.myafterprojecy.repository.ArticleRepository.findPublishedByCategory(java.lang.Integer)! + at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:96) + at org.springframework.data.jpa.repository.query.SimpleJpaQuery.(SimpleJpaQuery.java:66) + at org.springframework.data.jpa.repository.query.JpaQueryFactory.fromMethodWithQueryString(JpaQueryFactory.java:51) + at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$DeclaredQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:169) + at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$CreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:253) + at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:93) + at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:103) + ... 71 common frames omitted +Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryException: could not resolve property: typeid of: com.qf.myafterprojecy.pojo.Article [SELECT a FROM com.qf.myafterprojecy.pojo.Article a WHERE a.status = 1 AND a.typeid = :typeid] + at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138) + at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) + at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) + at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:757) + at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:114) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:362) + at com.sun.proxy.$Proxy116.createQuery(Unknown Source) + at org.springframework.data.jpa.repository.query.SimpleJpaQuery.validateQuery(SimpleJpaQuery.java:90) + ... 77 common frames omitted +Caused by: org.hibernate.QueryException: could not resolve property: typeid of: com.qf.myafterprojecy.pojo.Article [SELECT a FROM com.qf.myafterprojecy.pojo.Article a WHERE a.status = 1 AND a.typeid = :typeid] + at org.hibernate.QueryException.generateQueryException(QueryException.java:120) + at org.hibernate.QueryException.wrapWithQueryString(QueryException.java:103) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:220) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144) + at org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:113) + at org.hibernate.engine.query.spi.HQLQueryPlan.(HQLQueryPlan.java:73) + at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:162) + at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:636) + at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:748) + ... 85 common frames omitted +Caused by: org.hibernate.QueryException: could not resolve property: typeid of: com.qf.myafterprojecy.pojo.Article + at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:78) + at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:72) + at org.hibernate.persister.entity.AbstractEntityPersister.toType(AbstractEntityPersister.java:2053) + at org.hibernate.hql.internal.ast.tree.FromElementType.getPropertyType(FromElementType.java:412) + at org.hibernate.hql.internal.ast.tree.FromElement.getPropertyType(FromElement.java:524) + at org.hibernate.hql.internal.ast.tree.DotNode.getDataType(DotNode.java:723) + at org.hibernate.hql.internal.ast.tree.DotNode.prepareLhs(DotNode.java:268) + at org.hibernate.hql.internal.ast.tree.DotNode.resolve(DotNode.java:208) + at org.hibernate.hql.internal.ast.HqlSqlWalker.resolve(HqlSqlWalker.java:1066) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1319) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4797) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.comparisonExpr(HqlSqlBaseWalker.java:4261) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2180) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.logicalExpr(HqlSqlBaseWalker.java:2108) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.whereClause(HqlSqlBaseWalker.java:841) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:635) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:339) + at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:287) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:276) + at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:192) + ... 91 common frames omitted diff --git a/logs/web_project.log.2025-10-12.0.gz b/logs/web_project.log.2025-10-12.0.gz new file mode 100644 index 0000000000000000000000000000000000000000..111ab2239629cbd702b85d3bd96a5991a94536aa GIT binary patch literal 19821 zcmb??Wl$VZw=Hgi+u#nt-6goYy9al7cS~@02<{F8K?V&DA-H>h;BJ?E_r9w8K0Nuv zwaz^l>2jL-XB$_mI$X{Hl?f{Bkh1c)pheBU>9IrkKjBS|P7z$kquk7NA=_evzMn`SPG7;ddI@#(|kEd|-Y^I>HLR3k0FG zA}=f*yKf(k`1g(&CV3|S_oLv9jZ}TIGQJ49ugUSAxuvh$8M$;SE#7A{WdPPT#B;4$ z_0XG5moqx^r(<$=eSZg5^LW=xy^=j0z)QkhJq9~npq^h5{!MfHv56F{LEOG7uq5&w z*6Oto{zvmV*#$^M@tV76=8X;j&V0O2ApSSfWt&Ffngjy?D zD}*r6Jv(HXf39$&-Axyb*sy9JhZlU-?$6r%b-ymepb~-0X8-RYSeKJ&CbE&=pbpp#bx=TRvFw9^gSimT2$l2Z&YK^6D9G?vmJ+cbTsRu<4XxJ#5-&?Cj7*zr|K0tAl~CY$Unp@?82_H63aBtg zH^U%bVAZv@Z~xQ~cmskC>ILYJj#5RStZmhY!mVE4i$onxM+8Ckw(WY>heMS(1=|-U z=+zzwLj$55D|Ws7s{6w{rXZM;^w-aB`7@22ARI0WO;o-R`d@&U(Q*S;8@o`$9akLJ zUg2l8fr*^JV+e;fQ6K?0WQJ*re(fTI-^&ywlh~aH#%}^5mk>RcZTLDI63=*AE%~_{^o*KLj zhsqSwaH}dHQUYyVORSPl$Ze#)DB4R;v%>tYFtP(?h9@HH-Lz|aNO}8?tPWZMprdsbwANeEJu1!qVuwLq2zsf7h_RPtsbxaY)c!OO(M0I916(*W= zoB4KPWu6y#m|}p+(5D*55YBG|Mz!uQv=4-S6{@lkt#CU8Yw_iL@@g- z$w2I_|Azkq%=7rk_qQ(VieI1?+GB9OuOWJm9Qc|F#4$zS=Dr~4H$gmpZUZt?hUnq6 z*4KPt?idKDjiAlfdvbYW*AV*c7Y66ES7vmq_-;|>g>!xnB@Yj9BXXtXXp^=&m3Vbl z*Wqt_Sx!w^Rwms>6V*e{{)^A_HYyN{$YM;yyjIr&4XFKBL$HAK-;mR2rP&a9<^t$I|?;GCt#q*H$9$&~F* z;#%{cfVOm(By(zUF&Fo1?jSQogg|Jq;wfPbip9rmi?ELP)P0nuP7yl7Gs)5aoml`@BAEpaWjpKBgWtXPN2 z;Xy*MKj0>TIK|`XR!eOOs?n`zmKTNaglzw!S+&QR|*c0TM zj)XU(sFd{9YAvtA;xa!J@U=wl)eLg~AI?uqUIR{$wO}*K+@h8?n?F!W-xZF2{JvX- z_j?O$;J$k;G&4~45}fa&TZ~kP4!q7j^E5#`EPS>b0$>>$HVGn@rWs$xL9 z*`xfp2Yr+KTH}{)M)NdXLjw1Tm76TI-_{p>kPkcg3X_@Ew)VHuT2piPci#Yd-P0^( zUxESDb&j(-ls{Y#GWJ)v2>>J!@~Qb`+pf_ELHN~TUh#?)a}c+n3nAi8uJ%dmPB{~^ zKGEkUgq;WT5b~03xo-Ier)V0o$BFMUiooTtV*J{hgMQ4bn5Mk0F+nAW;4TSt>6$<_(}1-XIe#*B;bB{_EUXRu%${hUiRCgl{C)=!PyCf<~K)w--kP6 zwD*%*3c37MBmGU}@`au-)XYLq$hw2r<^=q7+rvmrp^Y%yD}{t(Fj~VWPsXDMQPKnE zXdoZM7PEcc=k~{k18#%(u==Aveh+u@UV-nIzlYCqjN`mEf?U?xFfD4nz3Wx^^K1FL zI{3W~5;X0gJ#YHIh%3lr7Rw_9AiQ#(A^G1=dj;NGye|~oY(Bgqsn}Um;STw=)RL@w zUmnHPTg|0s+Tv?%sEoe_y;QxQEF%53z;^=HiaZDT7j+cG?Mki|LHEr@+U!Xf2mZYX z%ScLgPvd)f)P7yu{F-5Wh+5w}8?;{{?Ykb(01@pKCoLCGc$^J6a<>B1CrpaOxa*le zr??#)9f)Z|S)ZZogIxdd$SyfAm1sImdVX;q@3Tu^#@p_qUIJ%e<~)3o9j2NclO8s( zeB%BLLhB#&kH&rK5O50g^nR`OapHBiB)WW@n)Ny-{^7TKH~Fy)FEF}L%ijq?zEI6{ z)~e?S9R60yLy=rrc5<^iB>|2YZt{(Y`cz@aXSJ!LK?wdaYTjbz7QCvELif;1^meP2 zLU8EnX}i}Sy0g9NR#-YH4#dBE<1be+GMD(?`)VY#NJTpds`pmf8S$_2H_G{ zc5aManO)Wt&WvPO=qHg7qk13Bvrvm7NpM1%c7|WHUOaI|Us6ZE2HWAMXUFqOu%=Mk zxo7~Q!At>iXN!*fSq3@J6S2{2<&M>td0Dx@Anin9zi>{K3Z{YUNANJrHDWAtu&|CW znpA){5<2GHq{Cpd_hyBo?K^9E_Obe&fQB-VpLD?9RV zY(LRcQe=`^x|-eAq@3Qihahx+4a)@aedZkj|NV=PiM_{N)9x=ZTi9XTF*))bpgpQyXSB)Yu| zq)yjkt3W%Wq3Vr`Vym|q${;5&ZtgTl}%3ip^m#wS1kQWzKvXqPFI&>btJ8= zy-ru5b@l8_<5G*HPFJyGOq+R@hE7-0u}oX>R%Q!?ymnhKwDoAjx>YNcA(0PWlDm!K zz?f_o-#jKim0?H*3T0Snbp^fCXo{dA(X92AJL1I^ULF)zDOd~i8+SU~v(VOAy*d3{*$ zK}*-Gn}P7(Duo}2dT!gD^6RCZ4AlA|cp^0VWNKj4M4cfHko@plprneaW{^~fsppXJ z5JRLH9zNgHf`P*PPgnC`;O8)ybsi_8A5VhrBE12S-rrZ-9oOIPYC-4zF8A|Z9~9?t z|GJ2_`8Ym%?G*Zlzxyq2wf(d4T@{_1-jq?Z5NY0@IOV_Hm-BBd8+p3l1{{8cwKA;< zdk@r=dRP7s{0;s7FX~Y~2d#zm(>mC*M#5vHxTmLEP_qc;|}i64x;-oFxOE`6#UP9EBJs9q4OuTy$QpsqUUx+A-H0;>3M z=_sJ&X@wMkJZ>&2ARQBtYQ~U*Lx$!dEL1CTRZ=B;Y$YH;+*sef&Skj0kQ_l&9}83Z zV-!onH;w#pU>HDJ4Fn^tnNRa(NIzE^F2-@Efwt<^9i0}vX0ih(rP|p;tm+>!))(SG zp*Nuac371gB)aQ{B%`-h@xG~VAk$R;1dyxE-d@*CO4*_m8A=uFh!mO0c?RDb*a3_AH&&Pk zH3+yeQWJ+ZB2B>Q7LaKNjRVmwK#Tm>T;a43Eilyavu{r!`f*#N{>8=8VeG1>NC4Wo zkx#L?WI3Yq?p5sS8A^~?f;mEW_KlJb#$4t-v<#O!C+P}lz=Sm{Uh-|RVQW&!=GD}b z=nPDlQlw6kf@n=ETn!Q^!*e2$$>8s5MQ;T~NNK}9+%qw+-t{(f=gA;0HH5U=#YfDal`d!v+}W;DM&~iB!y^M#f!YR1LUd)pF18>f=3axB!XvMXQL6v}U-dy+)ntq~ddXDG9E2Y=~ zIww=OFa~_)^OW3zmhJVrE1F%&fNN617bu^R`6Tq2Cj@OFIDXs21a$<;&7}r;$Y$8S z(FX-@mDrSOiS8sxg+l!kw)NC0$I~L#)P6!(TkB%W;tQ%Z{vs-zl;D2SoaimZH)a`|*LXQE(z!IG4dqYM*|D~!Fs{k<47 zNLt=bIY#~8$>U|+_5=Do7lPCHL|uws0WSS(HucLV{nXoo-Ct+@=_{AEv56*Lq{RC~ zM~GGS;MA)Ye!A2MFTi%|Ybg85Xk`hv$JLcr*Qp1mw zldOuS=eEB`aA2@?tyuXz!=cKcKj}@CI;mpqDSt$$axA>!bsyyr!1YEWBTwy|RSt3PkcOVUA>b$`A&NIq*UxPQfka*TmHDcq@Jxb`bDhlAjT3zslJxxP zInO!rkPB4NnrGvrclUQIWFd8=Bp`s_(5Iy)m<=+}k9MZ-%jNkjl=8w7xtE%1T9f&v zkk=sl($L0oYgbr|cnhFs!(&_NFEpZXLYobR>yb$4jTxLd%U>zayRWg_HEXAeX~lji z0;cF-EMhx>J3=DoBYle4u}f~kMjl1ax}Lh4!|1-g+i5ad~e zOG?dOXKs%33lI7eoRO+J=eSvRduv#}NL;QRJ!j&Rpu?N>bDhg1FYJws{08lRZD-rl z2k`fOh7O9X!iin9A0g3G3@~l58`BsLkIb-PpJim3%580k?Zh_6s^=W-KWag#zMxtQm~BDH5$Gu!hQ5Nrs_oa8>4?b}yV2?fY?s6lZAE;=}- zvVE#;tIWCHzw#^byZgq?bf}MZB^B1Tdy5kXVY=pQcifUllV$dGo%$!6n@w^ftJm}T zO)pGNf*AA`Ys-Y9P~jyL8i|gG(3J^PMGR^?F{D}XSe?68T`EXOJ2#i+~1Y*@7+5uvcFT`J8 zmy$1~|LZ89?(yT?alDxY3|eg}qT5*4LXG~t?$CL3dhQ6W{Bq~jKBhLX?yy{}>FK3k z#$f5-i z@MRHQQXD-(aqG65v zctf2d7E^zdgsh31M~)+2B=aaQ5RB8+rPxTU%g)7*n9eoLj=egBiTVDAdqGohWR?bt zaaTdEst3emOk(NPKAROj-vLS(_yIAz?x6PZK9RJSv1ZtM%nco&T27;lbq5MAsvV+n z``WQF#pQ|CoiOy4`4$t&#{wD08YuF6%aj>PjS8K{@m4zN9GHw8Ypg%z z8{$Efxz4hek*j}n=e@Ae3ij5vONhF6I3}=jf|;j33pj|m>N#o>9hBwCC^GDQDNAsV zolE^g89-}UrZ|+zG|no?I1D51S&>Br?UM!M9zw=(1t8LgptQ4U7B0I0Dx)Q9`OFEiz`%tU7Qg2U8H-%c>6)y>( zsgJ=aTbK{j(t_2zKxWK2IE-jDWUbe9QBVmsppA_zuRy77c+Z9GWR)gK-xEV>c9z={ zn@fO1b}dSjWlq&FQo9v9ftA`DaP_vZw%$)XN(5Bub6J78;lELLCPHM3*0NIoX$rO6 zITZ_?OkK$laZx)Hvv3+mBW`9t1}Z5gN#<_gitXodYqnNKIp)&6vxczrvVn|oBIcghlNdG`F#V1laZfCwE~B3cm@YCz1vE=n*zBZT;7p-*CEuId z6Z`pUmTOS4mjqb0$1_a=uz7~#Cj)RS4)(-svJLS5rK*N_f-od>QY_(mlJ-2R7DFrw zkXd~Ftg6g+$l_WJSq9M5w;O}!I76)c$T(`q|8Ow$4+pBqA2#sF`?OAN%9hvni$_6*Y|^s32=KWYeBbdfZ3G zJhKX)*nLjHD9j=B7dFCd#j`iDbuQ$w;V!gB-l3Tb#&K(zU-c|4f}#rwHLlnAk#*HF zU*p}*Eg&O{7%NfK6{+wJCS>V9;T?>ElTBnyQI%p$WV)CVm0432_~J}x?YhabBD4VU z2$B02KUHRblFyRkskPfql{ui2$cK_ca)#+yNU$o1)E;?fi);?Sh+{Gmg_3hHm|-9v zmzZN9%f{=)ns~FcEclnrn%U~6n#hc;nqnclU5p|`!u(9cLYB9SRAe=nz?Drf(fQps zgb)d^`4S5wPEX7kW+GE(;Sy@9n}>vfd|0(Tk!~VmOePpg-Zx2sHwUby>QDSZMvV}8 z6G1D&%6Mjhi4aL|$Py;Y$`}$W%R0!I^~0^QVxBPxK%PN^r}h`P3nR|;&1BRPj1XrM z-AFl+Y*I0qYa;V{Csr{Z{Kt~L1V|G$k#Ceqr44%{Ce^Sk2<;%tqQEVlb~A95))#G5 zF-_W&7%8JU3n;h93-UEh55S)X%oowk1LB}(OM#Zf+Ttt|)q6-s5w1u*tcERe#}PJW ztR+Bps0sW#^;$!&9@gp=V1!ZTLiIt2QRZhNwqhWE7mZIO{VxN34ZB#{EUx(vy{3Li zH9hMfuCfuLvFsgwI&k$<#RQnXfLvhMk;s%x0%|A?0W<-Cv!k5L5uE(iAM@yp zW1bEq^W&HUr_{k&Y@oz0k<3#up&UaQ!+mv2^d!FHvzKj@wOWQ*IwcHO#sd74RfGa9z|IWRrAMd z2T$Z0X3_%vJjofB6tW><44VKc6Ds7O#6rxa27o$jHZdqMRtBdLfb}KM&(pLlV7Upv zQFz=0kcUwH0<w2aoG2C=T=aF_v`pcwg1wI`V;YVKf7ftGhw zSRikSn3WgFnf45)luxJT%9T5lvx7+tF|5DR7^P~FEU;n z6Wj|zkKd644|XoGSkTmRP)5rHLs^sKc zzo{@bqU9|+sL;6=H8U`(;GvT5$HXi!I^s>H(R*sSpEx#7n+LeL3Lz+}_?c>um1Mwrnk6mgi5jO8!Pn*qO)+Jnn@T+MN_8!_7r)D)x4IB78!Dz(T| zBbh>cnjU9WeJW~SQy*wx5s0@AsMoTz(4<%zUSZ4_xxw+VZA_3F$UDGHooNhfow`F zznYIDYPjQBk0Nvg1}2Uow%&*R=Kv$gl;17^Lu`Sjb0o~aY(zZfmuCR#qLvCQ3Q2KX zJ&DBjaMKVWf#=5&F_snaMlu?Rj7JgpP?NDnGP0!YoQ??lAj#U<`C6E83GCFg;G&#UKKoh$GKCGBr_lh+F}-@K5JoST(I zkK@vukqC%_D+i1=_-F%EF{ea#Ym#llX`NAhzuo`u(qi|(|Hsl|RfXy&_fIzI;tP3% zEachR@8##W@6UN4(zmLhYs+_@&4Iw%sLi|jAfM-xg1h%;-}lAy&5-b#g12cm7Dm6> z4xD;Uu;Fv(k+ih2|Kj`3{C)#x933fz%x%z9${R4KRwjMum@09YW=awmbG<}gRc4`# zk0*>orgN8inoluls9b5CoIInRDh9G%_QNL!BQuTkcT2%CT+V)#wAU_)btod5(nTd1 ze~^JX>UO9+ei`B9WWpll(+*6R^Dh;{w`2dzo}@eYGgjv^X+o;z^g#x*Bt7=qhxYp8 zeSvPNZwSHEyhE8H7DekLaQZMxB-r#ZlSS;1bUGdn?V$8O35H9m`w@6|D1mdM)Vq}O z$g_i&Nqc&hBhqF{fTI!VDNS&ega6)rK&PNr^}ghiR&i!v$mn>gQm=|pb@vSbhc6>M z9729Ci&9;oSEMaNjp`Mu8ilgvK?Yfl5d0t`*?qr5S)`;|lh4=``|U$r`S^b+HaOj- z)a|!~lM|V-@c)vGPapq{sse`lGN}@3lKFG;2h$Eo|I<~MNm+Lmgrr%Jiaej2V9UJpwrwS~S-iDy3xzva9&Zl&HnjVBs7x zxwT*z0>ew0tZJZgbH+#$(@+0d-EQb9zRWEw;3)161h5hiM zuqXF{G^);jBii_tepI$Fu`M*w_9iB`gAafQTS=Dy#8kRr7DhHlm92j|d+-nl1@HcR zFpjOLAFtbyc)&Eq$jHWv#Q_*=ov_56`&EhF>|94MWuFys13O@j3$?~*NgmKB#|}6K zsDeN81>X?6aOrim)*=(_vFxU6;W$FTsY*P5`|=qSJmfTt zIEI*Tw!#kK*O8M#EMq8YX~%Q3BQr7@TbRU=!P=!=wAwxbh&o0py$BqSA{Frj7qY3^oSM=yjUAs^kRXFUSs`(4PGYAyiU`sB6 zk^tTcaU>4t*3qKn&FEb@g&OxVS&Rbuq*6DCR+*jB3U&idA}uW+luJv*Ph2 z;R6tBju~OUg1N$$PK8T0xC~9mR0pZUQ3I=fypF7^e4Q^uSh5j^w(Lg#S*gWz@SRCIA6E3+9=Y1%hQqUbdK zc19d$_@ZUM#qZ-4f3a`l&QCc&^lIAVaRYa41`3)+BF<(^PO9W`v!!=hcr)`w~tvo)P$B z@hcMB2hQxcy7~Y`sYf)}P-(kbNx#FH)S^{@E{IDn~X@wXOl;Tx78vzbLZP zQn3uNsecxum0!%SqWZ8~b;qXDA=MUPh%Z@hvS`z4sv|@ol`A%qCF>w7ZNMF>$i+*m z27F^t-p)lhBaogadtg)kRhgHQgst8yaXXC8sm6k$p9F)u^nAuCqB~O!i*3>9Dj^D% zRM6*Aqrud(#wdOaMq5xudVKV7me1LpAYXGoLh6c$OiR2yC_RyvacB2a3VXHCKd z=WU0v5b(}Y2CXu%nirf$>>#3%2(U?B8C(hIr#QK42u6D5!VWw9TMB+kk2HQ_@|HoS zVQDC%=@oa_%&qw@svEP=>Uajf-LLiP*GQeI;a1e<48+ewKiiMojIJ)Py_f(jkSh_& z(AjXk3F$Rjt10<_X+f;1Q;G~ePm2}J2Wgvd;!}@jDK`5`FW5eswcbUAGM{>6bh*d9 zVj8GhRBTkWWu%lI*j9RT2x!=!ku)#2Son4l&ZA9ZG8XBjE9MvMkd_>X>V~(=QdFA0 zA#X^lA#+1m`S4_Bm34rlt1%E|-j=Emu=OYB89G^Px&5=@BtA6i*< ziIqMp0Fzr)Np2whLoCZKH5ss_P}!eCG&4($H+g=SU2?4oAWv@Czp2XlWIBF!i(|zH zbw!)@DMDRnQjH53O^(1d)bKr9u3dKn@X~W41|J_#Yd|ymE-Iqli)3)-SN_9-8$10n? z{-^B@1zT?*CKPP!TIgAy)rs>&&-)K)wfD84&8Mt+LjA+GsoVqZ0s{e`K&F?DMxU!S zy*s~)AggUSsI}TBkG;zxCZoclFw*wzls$@(<;jA zoI}pM3>DZ-Sg}{^(VE@RyF%e;Xh#g@oxg106d%^xm`bTxxWDkIH@MC_J(v zQF4I(JG%|kI#GDm;4mnOXx`BDMhr+K(&0QkwAR8YKay~ZSSphW%?keHQG;sz6>Z-) zDST`WY*Opwakfr8O6(*8cL~ab%Xm$RcuxbtcJO@o zrCwOiR2sWpjbQ4vQIiAVvm!4h>m3#{iiboNSZboYvQ8njRLg=3VGGWsN`G=gGy)ltvq0w`WWm;NYTD^8#zCRUpE zyP`U*X=P!b9}eHJiCSi<5>xN7a=WWO46|VVJbMTo9b!vDgxE4d5j~W;A3V#Ygfg&M zE?ptmojT=&Ch$3()n%AU1%H#kEifD!-kDM=i1w)SAK#^v7mK(e!){t5%J$TeGk|Cy zuVR5c+;6#l>9*P;_l{l355K%8e%@%3>eo{_l63`K;gTf4F2} zjT!w*<0hvTtatakc>0w9`8SzZeEQvQ=$cS~H)Tcx3r5?R~MA6)J?Bl)X-j}US0Sis)|dAD^SjT z$c?M-Nc)wRk9W3jX?7{LSSGoGJ9?l|Qd*N!Sye9FTmVIOaS)SjKz4R1d8ZSlpBZB{ z0VkoBu#Kiu4$;)5xUt{cq$@I79m}G)kxSKsYW&(-+WbTb%&JKI=?6Xwfj+LoLSJkK zGe$x!UnJ8QoRT~fZi0hMs12dFnw7M9b^4#Kx&)l-0>ZDgJofN4gh+#)yW!>x#ndNC z9hz$HgO)2ENI8A@2!uVIX$JkZIc8T%P9MeNzc*zdGbw?d z8VGsRXU+2)OReY7)0>ZS65rDCB;HqC)>Gk9$zWaAj@+Dh`8F`=*5D`VZoHoxxB5)& zAhkoKr?>srso-?r9P^zxzG{QJQS`YMK#5VW5OlkiNi_n_*siHYYz##`)VURoQ)30enUs2rcYS#`B6^{kpr+*)Lba{wMXb4>dLrb1U}M#Wh? z%DZXlU*)0%?mh8O22ugcC7&}?3*7K;A76FMA_UG?D^`L7X)}?LuLzlG2{+`he-k4w z5eC6zEvv}xOky??ztc6iquv*>H(JP+0#CR>-@ixVhrosPP_Z#BF*HIJ+=1I5%0#zg ztgyQTF-&rSExha4;Z2v{L`E3;)V?Y6)agi+GLEXF7Du~ZHc{!~Hi8-C?;#aOY@q4kBd{q#&aEj1v*pQM8;>A+QPS(_;+0Vw)#Zn;^ zGsHBYqA4N}iqE&b{%p!o5qjzJk*{$X*>Fs$-VbV~eU|hR=bj)tT78 zH^#rQ25i3ue8MN?e<0Tqn_Bl<%X#?y|kOuCk1LYma;AYwyCBg)~XD zPgxF9{9i_}h=&T(=a*&;%1u?`j(*`Rreo*g4Ps*CRUM9fr2H+E{5Z>M_NxQ28IvgB zUmE>3M-*C1bb)wfw4GmnC1TF)98Ag4_tukr)WJ-PuyOTL2gGFW1FyhhnzBc!LMThsfM9md>ZZ+E~on)oS*rN`({?)0{lY>4g2__gvq%IlfbA6NUvX|vn+ zVQR!n*xRwf1xKsL?Ia_LG*IJrRRdcv232GSDi7m8`ezj1hoJnAmLHzi`_JN$way(GFu(cU*z6dR{R($*nl&mbPWGspk10Ip6nw$L++EMhd6IUI6 zlD6=ZvTm<9^~7lf9T7d)6X%Pr2W?VT2L0`I`eJlZW%|9L`D5T{9R#&nHW@QE*e4Yfl$ z%2=nC<4k=rkp(@!uWq0Yk7`qsP4H3V(^r=!Z}(W-T@`BDbI(PhYUroG;+==|i10CJ zZUS`+tzKRxf5qUYT+q2v}N!P{lA6nxG`A#G!F6kE@c9H)M^oXIYnyEE}9DqyYoik>bks(ao3BflQ!Ij zT7{1^7MjmD8$^}|YaxeovqT$cdU9-XYW~xa}`}G=K6xAxa{QU)jHoAp1DeydFzYT2@ zh*hvByen7VH@}F}02Cq~3bs6~jAXJa4hFBvSslv8(j%tR&zT-pwtcrNjseSq%?`(m z#5r*$CSW6$eY%)(is>>&`I9E6uq;N>QScdbrI-bjabV?}=niEPHHXp&@}o{Dtop~) z$45rKsLsxW^JPOF`+c;*VymF?9K>?paUF{O7 zr8aJOqB%2mURR-0(<*9Iw2KFzNi4PS3Bi!Xhr1O^WO$S$=n_LVagF0E??xey3328KLdh*D#X1 ziZ}gP*3yknPWnad3z}rliiVuCN9ULB~ZGs2oETt&X66!Vsca$lb z2Rc8W3Ms<6QSZ%3AN{^7yo>fdj0rx{fz!ZIgOW#ED|6qx>v zEdaUwbEdB|_cKPzCj{6#Djm^`+>q*`Iw~kSv&V{JpN^@E~F)v*Icb3TRm^{3NTzd_ro{|*3M-kW9w2@PcfKm!Kps*O*T?@ z7q8}0(5%LfEd~|S$>&!v4+mubQ)WOr+iWJEWQki#Mac^)dF-((BfH2VeGzVc9y{Bv zisi`gv~mK5^VVIYWYg_Z0E#i%WOlIyeW>Y9DJF|^ zYgwsHHZ#c8^j-InIH&WfVcbvAg5zzbJ{>E3{A`nijXYW)xCKvIUJA?_ejV_uJi)b0a8Jq=z?w z^Iim7G*0@X)_jo1;cphJ<>EwVnL>-WZ0XMAI_a0ag;kzSVgKiG(76bY$4y4Tt??r& zGFMcuuX(xyV$4F&elz$m-}s^}oT~^>FD!n|rL_IA=ZWfbQS}$KTpw}*60)A0_wgN^ zUX>q=mkt=%O4Inlz74c&OBT+DDkj`mA9P_*#MVkda!0qjY`FOOtZU zA|K|yF5KUQw(JZq6V+D6^qAo6cCdnMVw`kxPOuFA92G1~wy7n9&M#cq+}^@&n>Z?V z9hGY}c?Xe7yRrk`!Xk^=FYx;w^oh47Qv_3t*JP{)J61Fj2rlzj6s!g}!14G#vBUv7 zOdW)fJcf|IaVl!XnWHZJwNpfD6PI~f6WqzIgP__u;wfrQZuiGrKq_cN;tG~Y;1Q}? zh%%lLS?5=LxL+Uln$~po4>io-FwwpMVLopW|x?;W_U>L zax740Xu=n!h4|l(qAbO2~l+Q}zWrCMr-~)V@j)hVnb2O!`a;nzh^C`ys!Xfp;oS?8=n^ z7vJzk4F7HLos9rP-m}oNTw&bwnwd0HOpa4%=Gxc2Q0XjSKhnJnnGP$*eFlaTEqT#&fPX{Hr?DE$cAPoN!{GWrfw#V3$;X7-nC z6!s^Oyz)LmeUWd>E1`!_XEyVj7X2E;qTtF*|0htD zPADS}?fj;PY?=dC(krw4{HrZo>AfslY>h)x$HtN977~?F#)A7m`vgOAeha58Zv5vl z5S|iAyFR&;%wCE@L)Y~q)vub2X4dJxB3USU81+bMHH2W){iyU~xdn9jP-PbhU#{Wk zDGsRWBdUrH&xkPrYBFbDffmIG$%P`g*r6FZ(@wR)+#x%UN6uWynM&H@$O#-%H-}`? zQCjXH$xl|lu@|6oRGJYS;-CV`3SVOzEphuIvH94k4C%uN)b+}D;xj`Duqg&68ki>1 z@5B^Q1=|3@<7Ob0lrpNZ2!cRFM*!C;RBC$hM<^dFR{sd)Ft{I~d_(RdlrLfN$ zB)6R-(j(>F3H6K2UgObf+_N`Ce?oWp!~QCo+>P}k=)bzS@^~oMHatdS&o-73$W~mOo3C%E-eMvsDWh+ZQ6#3qF&iVd1 z|2@C^dEWcIuIs+;XMVr;_snzSfwquWAHzh)Gqc!7>T^zn_>7zdJSI(Br9!%?2gLTAkaIjek4V@#EW^R@AbO41QGe!W2Byiqdr*mU z&w_jIn6LacoO$Zn{_!e3cvjtNb9_i$J3Q;2%B#Cte8R6fx_@2aB;6nx3@I-e}B}^^`Db`|7J^_Vveg$diU&K5Fj&j&5?>R!~1* zB?`IbWL=`HREs+vBb8VW?}jOb7W=vDihCJd#yXb|?K3Pfx$lzWJ0mO=Q+Ur!&m`W# z>1t)%*Tl3VoeEycFoj3vQ8G20D}28K<2cylP#v=#hMW!+Y?WrFYbVcr@19Y2S+aEe zmTvJEaZ(qxAuFvJb2`aTGhG$Z-X@f1=@zRC=9dZ~zHF|miXr7URNF`t zp_O3|TtT2{;_m#tE|qu6m-l&~x6=iQ5zE@y&_(R&Av?8Hm__^*-h7n&#bj42PTBqM z&xU-*3s4p1Rb!5HF(OHQxjE^0sj$Mu(I880^)ZiFbdm0=hS{t1`J6{VDF$(xd&}BV zeUW@r75w>;v&MsR?zgVfo_2-L# zvuKBV)w+)VrTF4*-9Hy7g<2Miv}bH-l&0| z@c0S80Y15!eqs(oxLqZDA90%T$y;um+0PZ}-Re&f-%%Qa6`{UN;O7Q)DZ*L~+0c3t zwV30HsE(rTCf>qD%dj*VDf$u;vOMB@fGUeX^k>r8fjBIfI!TBX&vJt_<6VgSW{RGbfxewwHef5(4ns_Q zFOh1(5kL^e3PPrnMA8bfn>5RK_6(|*eD~ho4c5IOQmNno zLm65n>1JS*QD|xyaV!4*PAObG`06^ZM37yn&(rRxn=r|2 zySDk;%os%P?@A6AFZ@Z1-$6g%#a7_M-usxX-oHPk}<;$D=S#B z>hVqmMr8n8wnzS?J^(aq>sbEg`Q+o+^1Me=jS>&T!TErI66742p9OA!vPlGzVhux; zmi`#;^kE?BL)S-X1}LB`(UXpG`{)O0*otYa{zyHbg^gjB|5>Xpn37|#QdMXmK$J3% zkzO_A0hbfHO>;e^#6ikz$^Yls!Qz>r;$I##)hOKq3YzgqD_dZ0{H@OllAe37Iyn>+ z3>U4x3O;OR=vu+6BkSV@6#sD;z9$L+Dq@TEwna}9J2{jbYp*;LBQiYMK3 z(Q&ZN!K4F%rG#1Mu=VxZ4}MlH|14eS8Op9kl64eu?ZPG9eM_>kBqUoWcHXNs+o&86 zRWGw4)mDs}U}i-}tYalFn@`Ka=hS$@ZASYz@C0Fh;&9?be>F%r*ZvJ~-mNHFXX22? z0sLQGXwXkMRrv{sm##A*1H>FrHp<_V$h{6( zlVi+6;VMr_5y-Y>9cdnLB4cpTJoU6|9cYE%AE~{DU{P@T2#JT+#{ow&722VHn{ZEt zi#0+@&zXZ2ZxbmH`^U(xZ6d^W6BNxA-Uy0@ZJT)04T|=(wEmWh07om!Juz2De+h%$ z*GY5knkpm6!=IhbC=3fESS*CqI{QAA5(Avq$ld%GG5)^ji3HH|TgBNs4V>aYQp%zI zsQgJ3x+si(-)po_nq>f`FQ64>1{ug%jgNHO`^ybaAwV8v_|+HJDROTWR_Fno`Pk%5 zC`gO2+W-NpHOY@0BGs{fcY7lHWo*{u+CG&&MbltEg z$-tjI7T)UdIHS(;ZvitJ(F<-QiWb={*B0mHh;8v=!`if7l01z7D+6s9BdQ3L|6 zi%fevK!9z5}{knd7e=1%PN}geO236lB-+T@t$w(SzMcHr(@Q z?=bTV4UkGJ@iiEFCR2*UaF1dH<$*VKMSeTC-7peV`(z>V@UZjsTKmbCo8+6spr5)G zA$J}gf%gM_=!vBD?mhU{67`+ox*Zu_gs`uHM~zTk&zv znxO!_bwQ&4zdDxoE`3yvIoc{*_z~0j^FZeS^Pd-Pbx&NFFFt+>+|7BN;NUE&JNGrT zk0Z+@s=s;CEN&<3l-agPXk?mAbn14jh1p`E#P=!vE5ClO`#t<46#stm+K%&ipL~5I z?X{$l#>j)i;PElx8WWYYt5DAzu{zE7aB5n-O5r`*zQkhSY{L;Jn`+@Ad6OOTKkH7` AtN;K2 literal 0 HcmV?d00001 diff --git a/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java b/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java index 0292a40..4317f6f 100644 --- a/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java +++ b/src/main/java/com/qf/myafterprojecy/controller/ArticleController.java @@ -42,6 +42,15 @@ public class ArticleController { public ResponseMessage> getAllArticles() { return articleService.getAllArticles(); } + /** + * 根据标题查询文章列表 + * @param title 文章标题 + * @return 返回包含文章列表的ResponseMessage对象 + */ + @GetMapping("/title/{title}") + public ResponseMessage> getArticlesByTitle(@PathVariable String title) { + return articleService.getArticlesByTitle(title); + } /** * 创建新文章 @@ -84,13 +93,33 @@ public class ArticleController { /** - * 根据分类ID获取该分类下的所有文章 - * @param typeid 分类ID + * 根据分类ID获取该分类下的所有文章(兼容旧接口) + * @param categoryId 分类ID * @return 返回包含文章列表的ResponseMessage对象 */ @GetMapping("/category/{categoryId}") - public ResponseMessage> getArticlesByCategory(@PathVariable Integer typeid) { - return articleService.getArticlesByCategory(typeid); + public ResponseMessage> getArticlesByCategory(@PathVariable Integer categoryId) { + return articleService.getArticlesByCategory(categoryId); + } + + /** + * 根据属性ID获取该属性下的所有文章 + * @param attributeId 属性ID + * @return 返回包含文章列表的ResponseMessage对象 + */ + @GetMapping("/attribute/{attributeId}") + public ResponseMessage> getArticlesByAttribute(@PathVariable Integer attributeId) { + return articleService.getArticlesByAttribute(attributeId); + } + + /** + * 根据属性ID获取最新文章(按创建时间降序) + * @param attributeId 属性ID + * @return 返回包含最新文章列表的ResponseMessage对象 + */ + @GetMapping("/attribute/{attributeId}/latest") + public ResponseMessage> getLatestArticlesByAttribute(@PathVariable Integer attributeId) { + return articleService.getLatestArticlesByAttribute(attributeId); } /** diff --git a/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java b/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java new file mode 100644 index 0000000..4030c4f --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/controller/CategoryAttributeController.java @@ -0,0 +1,99 @@ +package com.qf.myafterprojecy.controller; + +import com.qf.myafterprojecy.pojo.Category_attribute; +import com.qf.myafterprojecy.pojo.ResponseMessage; +import com.qf.myafterprojecy.pojo.dto.CategoryAttributeDto; +import com.qf.myafterprojecy.service.ICategoryAttributeService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import javax.validation.Valid; + +@RestController +@RequestMapping("/api/category-attributes") +@Validated +public class CategoryAttributeController { + + private static final Logger log = LoggerFactory.getLogger(CategoryAttributeController.class); + + @Autowired + private ICategoryAttributeService categoryAttributeService; + + /** + * 根据ID获取分类属性 + * @param id 属性ID + * @return 属性信息 + */ + @GetMapping("/{id}") + public ResponseMessage getAttributeById(@PathVariable Integer id) { + log.info("接收根据ID获取分类属性的请求: ID={}", id); + return categoryAttributeService.getCategoryAttributeById(id); + } + + /** + * 根据分类ID获取属性列表 + * @param categoryId 分类ID + * @return 属性列表 + */ + @GetMapping("/category/{categoryId}") + public ResponseMessage> getAttributesByCategory(@PathVariable Integer categoryId) { + log.info("接收根据分类ID获取属性列表的请求: 分类ID={}", categoryId); + return categoryAttributeService.getAttributesByCategoryId(categoryId); + } + + /** + * 创建新的分类属性 + * @param dto 分类属性数据 + * @return 创建结果 + */ + @PostMapping + public ResponseMessage createAttribute(@Valid @RequestBody CategoryAttributeDto dto) { + log.info("接收创建分类属性的请求: 分类ID={}, 属性名称={}", + dto.getCategoryid(), dto.getAttributename()); + return categoryAttributeService.saveCategoryAttribute(dto); + } + + /** + * 更新分类属性 + * @param id 属性ID + * @param dto 分类属性数据 + * @return 更新结果 + */ + @PutMapping("/{id}") + public ResponseMessage updateAttribute( + @PathVariable Integer id, + @Valid @RequestBody CategoryAttributeDto dto) { + log.info("接收更新分类属性的请求: ID={}, 分类ID={}, 属性名称={}", + id, dto.getCategoryid(), dto.getAttributename()); + return categoryAttributeService.updateCategoryAttribute(id, dto); + } + + /** + * 删除分类属性 + * @param id 属性ID + * @return 删除结果 + */ + @DeleteMapping("/{id}") + public ResponseMessage deleteAttribute(@PathVariable Integer id) { + log.info("接收删除分类属性的请求: ID={}", id); + return categoryAttributeService.deleteCategoryAttribute(id); + } + + /** + * 检查分类下是否存在指定名称的属性 + * @param categoryId 分类ID + * @param attributeName 属性名称 + * @return 是否存在 + */ + @GetMapping("/check-exists") + public ResponseMessage checkAttributeExists( + @RequestParam Integer categoryId, + @RequestParam String attributeName) { + log.info("接收检查分类属性是否存在的请求: 分类ID={}, 属性名称={}", categoryId, attributeName); + return categoryAttributeService.existsByCategoryAndName(categoryId, attributeName); + } +} \ No newline at end of file diff --git a/src/main/java/com/qf/myafterprojecy/pojo/Article.java b/src/main/java/com/qf/myafterprojecy/pojo/Article.java index 4edc98d..c0be750 100644 --- a/src/main/java/com/qf/myafterprojecy/pojo/Article.java +++ b/src/main/java/com/qf/myafterprojecy/pojo/Article.java @@ -22,8 +22,8 @@ public class Article { private String content; @NotNull(message = "类别id不能为空") - @Column(name = "typeid") - private Integer typeid; + @Column(name = "attributeid") + private Integer attributeid; @Column(name = "img") private String img; @@ -42,6 +42,14 @@ public class Article { // Getters and Setters + public Integer getAttributeid() { + return attributeid; + } + + public void setAttributeid(Integer attributeid) { + this.attributeid = attributeid; + } + public Integer getArticleid() { return articleid; } @@ -66,14 +74,6 @@ public class Article { this.content = content; } - public Integer getTypeid() { - return typeid; - } - - public void setTypeid(Integer typeid) { - this.typeid = typeid; - } - public LocalDateTime getCreatedAt() { return createdAt; } diff --git a/src/main/java/com/qf/myafterprojecy/pojo/Category_attribute.java b/src/main/java/com/qf/myafterprojecy/pojo/Category_attribute.java index 3ceb861..6fb3237 100644 --- a/src/main/java/com/qf/myafterprojecy/pojo/Category_attribute.java +++ b/src/main/java/com/qf/myafterprojecy/pojo/Category_attribute.java @@ -1,4 +1,42 @@ package com.qf.myafterprojecy.pojo; -public class category_attribute { +import javax.persistence.*; + +@Entity +@Table(name = "category_attribute") +public class Category_attribute { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "attributeid") + private Integer attributeid; + + @Column(name = "categoryid") + private Integer categoryid; + + @Column(name = "attributename") + private String attributename; + + public Integer getAttributeid() { + return attributeid; + } + + public void setAttributeid(Integer attributeid) { + this.attributeid = attributeid; + } + + public Integer getCategoryid() { + return categoryid; + } + + public void setCategoryid(Integer categoryid) { + this.categoryid = categoryid; + } + + public String getAttributename() { + return attributename; + } + + public void setAttributename(String attributename) { + this.attributename = attributename; + } } diff --git a/src/main/java/com/qf/myafterprojecy/pojo/dto/CategoryAttributeDto.java b/src/main/java/com/qf/myafterprojecy/pojo/dto/CategoryAttributeDto.java new file mode 100644 index 0000000..6996972 --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/pojo/dto/CategoryAttributeDto.java @@ -0,0 +1,30 @@ +package com.qf.myafterprojecy.pojo.dto; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +public class CategoryAttributeDto { + + @NotNull(message = "分类ID不能为空") + private Integer categoryid; + + @NotBlank(message = "属性名称不能为空") + private String attributename; + + // Getters and Setters + public Integer getCategoryid() { + return categoryid; + } + + public void setCategoryid(Integer categoryid) { + this.categoryid = categoryid; + } + + public String getAttributename() { + return attributename; + } + + public void setAttributename(String attributename) { + this.attributename = attributename; + } +} \ No newline at end of file diff --git a/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java b/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java index 556adaa..8153da4 100644 --- a/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java +++ b/src/main/java/com/qf/myafterprojecy/repository/ArticleRepository.java @@ -21,6 +21,13 @@ public interface ArticleRepository extends JpaRepository { */ @Query("SELECT a FROM Article a WHERE a.articleid = :id") Optional
findById(@Param("id") Integer id); + /** + * 根据标题查询文章列表 + * @param title 文章标题的一部分,用于模糊查询 + * @return 返回符合查询条件的文章列表 + */ + @Query("SELECT a FROM Article a WHERE a.title LIKE %:title%") + List
findByTitle(@Param("title") String title); /** * 根据文章ID查询已发布的文章 * 使用JPQL查询语句,只查询状态为1(已发布)且指定ID的文章 @@ -34,11 +41,20 @@ public interface ArticleRepository extends JpaRepository { * 根据分类ID查询已发布的文章列表 * 使用JPQL查询语句,筛选状态为已发布(status=1)且指定分类(typeid)的文章 * - * @param typeid 分类ID,通过@Param注解映射到查询语句中的:typeid参数 + * @param attributeid 分类ID,通过@Param注解映射到查询语句中的:attributeid参数 * @return 返回符合条件Article对象的列表 */ - @Query("SELECT a FROM Article a WHERE a.status = 1 AND a.typeid = :typeid") - List
findPublishedByCategory(@Param("typeid") Integer typeid); + @Query("SELECT a FROM Article a WHERE a.status = 1 AND a.attributeid = :attributeid") + List
findPublishedByAttribute(@Param("attributeid") Integer attributeid); +/** + * 根据属性ID查询最新的文章列表 + * 使用JPQL查询语句,筛选状态为已发布(status=1)且指定属性(attributeid)的文章,按创建时间降序排序 + * + * @param attributeid 属性ID,通过@Param注解映射到查询语句中的:attributeid参数 + * @return 返回符合条件Article对象的列表,按创建时间降序排列 + */ + @Query("SELECT a FROM Article a WHERE a.status = 1 AND a.attributeid = :attributeid ORDER BY a.createdAt DESC") + List
findLatestByAttribute(@Param("attributeid") Integer attributeid); /** * 使用@Modifying注解标记这是一个修改操作,通常用于UPDATE或DELETE语句 diff --git a/src/main/java/com/qf/myafterprojecy/repository/CategoryAttributeRepository.java b/src/main/java/com/qf/myafterprojecy/repository/CategoryAttributeRepository.java new file mode 100644 index 0000000..f1a4fec --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/repository/CategoryAttributeRepository.java @@ -0,0 +1,46 @@ +package com.qf.myafterprojecy.repository; + +import com.qf.myafterprojecy.pojo.Category_attribute; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +public interface CategoryAttributeRepository extends JpaRepository { + + /** + * 根据分类ID查询分类属性列表 + * @param categoryid 分类ID + * @return 返回该分类下的所有属性列表 + */ + @Query("SELECT ca FROM Category_attribute ca WHERE ca.categoryid = :categoryid") + List findByCategoryId(@Param("categoryid") Integer categoryid); + + /** + * 根据属性ID查询属性信息 + * @param attributeid 属性ID + * @return 返回属性对象 + */ + @Query("SELECT ca FROM Category_attribute ca WHERE ca.attributeid = :attributeid") + Optional findByAttributeId(@Param("attributeid") Integer attributeid); + + /** + * 检查分类下是否存在指定名称的属性 + * @param categoryid 分类ID + * @param attributename 属性名称 + * @return 是否存在 + */ + boolean existsByCategoryidAndAttributename(Integer categoryid, String attributename); + + /** + * 根据分类ID和属性名称查询属性 + * @param categoryid 分类ID + * @param attributename 属性名称 + * @return 属性对象 + */ + Optional findByCategoryidAndAttributename(Integer categoryid, String attributename); +} \ No newline at end of file diff --git a/src/main/java/com/qf/myafterprojecy/repository/Category_attribute.java b/src/main/java/com/qf/myafterprojecy/repository/Category_attribute.java index 3402820..9ea95a1 100644 --- a/src/main/java/com/qf/myafterprojecy/repository/Category_attribute.java +++ b/src/main/java/com/qf/myafterprojecy/repository/Category_attribute.java @@ -1,4 +1,6 @@ package com.qf.myafterprojecy.repository; -public interface Category_attribute { +import org.hibernate.metamodel.model.convert.spi.JpaAttributeConverter; + +public interface Category_attribute extends JpaAttributeConverter { } diff --git a/src/main/java/com/qf/myafterprojecy/service/ArticleService.java b/src/main/java/com/qf/myafterprojecy/service/ArticleService.java index 2c46677..34b117f 100644 --- a/src/main/java/com/qf/myafterprojecy/service/ArticleService.java +++ b/src/main/java/com/qf/myafterprojecy/service/ArticleService.java @@ -4,6 +4,7 @@ import com.qf.myafterprojecy.pojo.Article; import com.qf.myafterprojecy.pojo.ResponseMessage; import com.qf.myafterprojecy.pojo.dto.ArticleDto; import com.qf.myafterprojecy.repository.ArticleRepository; +import com.qf.myafterprojecy.repository.CategoryAttributeRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -22,6 +23,9 @@ public class ArticleService implements IArticleService { @Autowired private ArticleRepository articleRepository; + + @Autowired + private CategoryAttributeRepository categoryAttributeRepository; @Override @Transactional(readOnly = true) @@ -42,7 +46,21 @@ public class ArticleService implements IArticleService { return ResponseMessage.failure("获取文章失败"); } } - + @Override + @Transactional(readOnly = true) + public ResponseMessage> getArticlesByTitle(String title) { + try { + if (title == null || title.isEmpty()) { + return ResponseMessage.failure("文章标题不能为空"); + } + List
articles = articleRepository.findByTitle(title); + return ResponseMessage.success(articles); + } catch (Exception e) { + log.error("根据标题查询文章列表失败: {}", e.getMessage()); + return ResponseMessage.failure("根据标题查询文章列表失败"); + } + } + @Override @Transactional(readOnly = true) public ResponseMessage> getAllArticles() { @@ -114,13 +132,58 @@ public class ArticleService implements IArticleService { @Transactional(readOnly = true) public ResponseMessage> getArticlesByCategory(Integer categoryId) { try { - List
articles = articleRepository.findPublishedByCategory(categoryId); - return ResponseMessage.success(articles); + // 为了兼容旧接口,这里需要调整逻辑 + // 旧接口使用typeid,但我们现在用attributeid + // 可以考虑查询该分类下的所有属性,然后获取相关文章 + log.warn("使用了旧接口getArticlesByCategory,请考虑迁移到getArticlesByAttribute"); + return ResponseMessage.success(articleRepository.findPublishedByAttribute(categoryId)); } catch (DataAccessException e) { log.error("获取分类文章失败: {}", e.getMessage()); return ResponseMessage.failure("获取分类文章失败"); } } + + @Override + @Transactional(readOnly = true) + public ResponseMessage> getArticlesByAttribute(Integer attributeid) { + try { + if (attributeid == null || attributeid <= 0) { + return ResponseMessage.failure("属性ID无效"); + } + + // 验证属性是否存在 + if (!categoryAttributeRepository.existsById(attributeid)) { + return ResponseMessage.failure("属性不存在"); + } + + List
articles = articleRepository.findPublishedByAttribute(attributeid); + return ResponseMessage.success(articles); + } catch (DataAccessException e) { + log.error("获取属性文章失败: {}", e.getMessage()); + return ResponseMessage.failure("获取属性文章失败"); + } + } + + @Override + @Transactional(readOnly = true) + public ResponseMessage> getLatestArticlesByAttribute(Integer attributeid) { + try { + if (attributeid == null || attributeid <= 0) { + return ResponseMessage.failure("属性ID无效"); + } + + // 验证属性是否存在 + if (!categoryAttributeRepository.existsById(attributeid)) { + return ResponseMessage.failure("属性不存在"); + } + + List
articles = articleRepository.findLatestByAttribute(attributeid); + return ResponseMessage.success(articles); + } catch (DataAccessException e) { + log.error("获取最新属性文章失败: {}", e.getMessage()); + return ResponseMessage.failure("获取最新属性文章失败"); + } + } @Override @Transactional(readOnly = true) diff --git a/src/main/java/com/qf/myafterprojecy/service/CategoryAttributeService.java b/src/main/java/com/qf/myafterprojecy/service/CategoryAttributeService.java new file mode 100644 index 0000000..3b2b206 --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/service/CategoryAttributeService.java @@ -0,0 +1,154 @@ +package com.qf.myafterprojecy.service; + +import com.qf.myafterprojecy.pojo.Category_attribute; +import com.qf.myafterprojecy.pojo.ResponseMessage; +import com.qf.myafterprojecy.pojo.dto.CategoryAttributeDto; +import com.qf.myafterprojecy.repository.CategoryAttributeRepository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +public class CategoryAttributeService implements ICategoryAttributeService { + + private static final Logger log = LoggerFactory.getLogger(CategoryAttributeService.class); + + @Autowired + private CategoryAttributeRepository categoryAttributeRepository; + + @Override + @Transactional(readOnly = true) + public ResponseMessage getCategoryAttributeById(Integer id) { + try { + if (id == null || id <= 0) { + return ResponseMessage.failure("属性ID无效"); + } + + Category_attribute attribute = categoryAttributeRepository.findById(id) + .orElseThrow(() -> new RuntimeException("分类属性不存在")); + + return ResponseMessage.success(attribute); + } catch (Exception e) { + log.error("获取分类属性失败: {}", e.getMessage()); + return ResponseMessage.failure("获取分类属性失败"); + } + } + + @Override + @Transactional(readOnly = true) + public ResponseMessage> getAttributesByCategoryId(Integer categoryId) { + try { + if (categoryId == null || categoryId <= 0) { + return ResponseMessage.failure("分类ID无效"); + } + + List attributes = categoryAttributeRepository.findByCategoryId(categoryId); + return ResponseMessage.success(attributes); + } catch (DataAccessException e) { + log.error("获取分类属性列表失败: {}", e.getMessage()); + return ResponseMessage.failure("获取分类属性列表失败"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ResponseMessage saveCategoryAttribute(CategoryAttributeDto dto) { + try { + // 检查属性名称是否已存在于该分类下 + if (categoryAttributeRepository.existsByCategoryidAndAttributename( + dto.getCategoryid(), dto.getAttributename())) { + return ResponseMessage.failure("该分类下已存在同名属性"); + } + + Category_attribute attribute = new Category_attribute(); + BeanUtils.copyProperties(dto, attribute); + + Category_attribute savedAttribute = categoryAttributeRepository.save(attribute); + log.info("成功创建分类属性: {}, 分类ID: {}", + savedAttribute.getAttributename(), savedAttribute.getCategoryid()); + + return ResponseMessage.success(savedAttribute); + } catch (DataAccessException e) { + log.error("保存分类属性失败: {}", e.getMessage()); + return ResponseMessage.failure("保存分类属性失败"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ResponseMessage updateCategoryAttribute(Integer id, CategoryAttributeDto dto) { + try { + if (id == null || id <= 0) { + return ResponseMessage.failure("属性ID无效"); + } + + Category_attribute attribute = categoryAttributeRepository.findById(id) + .orElseThrow(() -> new RuntimeException("分类属性不存在")); + + // 如果修改了属性名称,检查新名称是否已存在 + if (!attribute.getAttributename().equals(dto.getAttributename()) && + categoryAttributeRepository.existsByCategoryidAndAttributename( + dto.getCategoryid(), dto.getAttributename())) { + return ResponseMessage.failure("该分类下已存在同名属性"); + } + + BeanUtils.copyProperties(dto, attribute); + attribute.setAttributeid(id); // 确保ID不变 + + Category_attribute updatedAttribute = categoryAttributeRepository.save(attribute); + log.info("成功更新分类属性: ID={}, 名称={}", + updatedAttribute.getAttributeid(), updatedAttribute.getAttributename()); + + return ResponseMessage.success(updatedAttribute); + } catch (Exception e) { + log.error("更新分类属性失败: {}", e.getMessage()); + return ResponseMessage.failure("更新分类属性失败"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public ResponseMessage deleteCategoryAttribute(Integer id) { + try { + if (id == null || id <= 0) { + return ResponseMessage.failure("属性ID无效"); + } + + if (!categoryAttributeRepository.existsById(id)) { + return ResponseMessage.failure("分类属性不存在"); + } + + categoryAttributeRepository.deleteById(id); + log.info("成功删除分类属性: ID={}", id); + + return ResponseMessage.success(true); + } catch (Exception e) { + log.error("删除分类属性失败: {}", e.getMessage()); + return ResponseMessage.failure("删除分类属性失败"); + } + } + + @Override + @Transactional(readOnly = true) + public ResponseMessage existsByCategoryAndName(Integer categoryId, String attributeName) { + try { + if (categoryId == null || categoryId <= 0 || attributeName == null || attributeName.isEmpty()) { + return ResponseMessage.failure("参数无效"); + } + + boolean exists = categoryAttributeRepository.existsByCategoryidAndAttributename( + categoryId, attributeName); + + return ResponseMessage.success(exists); + } catch (DataAccessException e) { + log.error("检查分类属性是否存在失败: {}", e.getMessage()); + return ResponseMessage.failure("检查分类属性是否存在失败"); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/qf/myafterprojecy/service/IArticleService.java b/src/main/java/com/qf/myafterprojecy/service/IArticleService.java index bf99973..6e5d786 100644 --- a/src/main/java/com/qf/myafterprojecy/service/IArticleService.java +++ b/src/main/java/com/qf/myafterprojecy/service/IArticleService.java @@ -9,9 +9,34 @@ import java.util.List; public interface IArticleService { ResponseMessage
getArticleById(String id); ResponseMessage> getAllArticles(); + /** + * 根据标题查询文章列表 + * @param title 文章标题的一部分,用于模糊查询 + * @return 返回符合查询条件的文章列表 + */ + ResponseMessage> getArticlesByTitle(String title); ResponseMessage
saveArticle(ArticleDto articleDto); ResponseMessage
updateArticle(Integer id, ArticleDto articleDto); ResponseMessage
deleteArticle(Integer id); + /** + * 根据分类ID查询文章列表(兼容旧接口) + * @param typeid 分类ID + * @return 返回符合查询条件的文章列表 + */ ResponseMessage> getArticlesByCategory(Integer typeid); + + /** + * 根据属性ID查询文章列表 + * @param attributeid 属性ID + * @return 返回符合查询条件的文章列表 + */ + ResponseMessage> getArticlesByAttribute(Integer attributeid); + + /** + * 根据属性ID查询最新文章列表 + * @param attributeid 属性ID + * @return 返回符合查询条件的最新文章列表 + */ + ResponseMessage> getLatestArticlesByAttribute(Integer attributeid); ResponseMessage> getMostViewedArticles(); } diff --git a/src/main/java/com/qf/myafterprojecy/service/ICategoryAttributeService.java b/src/main/java/com/qf/myafterprojecy/service/ICategoryAttributeService.java new file mode 100644 index 0000000..ba3387f --- /dev/null +++ b/src/main/java/com/qf/myafterprojecy/service/ICategoryAttributeService.java @@ -0,0 +1,54 @@ +package com.qf.myafterprojecy.service; + +import com.qf.myafterprojecy.pojo.Category_attribute; +import com.qf.myafterprojecy.pojo.ResponseMessage; +import com.qf.myafterprojecy.pojo.dto.CategoryAttributeDto; + +import java.util.List; + +public interface ICategoryAttributeService { + + /** + * 根据ID获取分类属性 + * @param id 属性ID + * @return 分类属性信息 + */ + ResponseMessage getCategoryAttributeById(Integer id); + + /** + * 根据分类ID获取属性列表 + * @param categoryId 分类ID + * @return 属性列表 + */ + ResponseMessage> getAttributesByCategoryId(Integer categoryId); + + /** + * 创建新的分类属性 + * @param dto 分类属性数据 + * @return 创建结果 + */ + ResponseMessage saveCategoryAttribute(CategoryAttributeDto dto); + + /** + * 更新分类属性 + * @param id 属性ID + * @param dto 分类属性数据 + * @return 更新结果 + */ + ResponseMessage updateCategoryAttribute(Integer id, CategoryAttributeDto dto); + + /** + * 删除分类属性 + * @param id 属性ID + * @return 删除结果 + */ + ResponseMessage deleteCategoryAttribute(Integer id); + + /** + * 检查分类下是否存在指定名称的属性 + * @param categoryId 分类ID + * @param attributeName 属性名称 + * @return 是否存在 + */ + ResponseMessage existsByCategoryAndName(Integer categoryId, String attributeName); +} \ No newline at end of file diff --git a/src/main/java/com/qf/myafterprojecy/service/MessageService.java b/src/main/java/com/qf/myafterprojecy/service/MessageService.java index 19f0b7f..a76cff6 100644 --- a/src/main/java/com/qf/myafterprojecy/service/MessageService.java +++ b/src/main/java/com/qf/myafterprojecy/service/MessageService.java @@ -165,7 +165,6 @@ public class MessageService implements IMessageService { logger.warn("根据父消息ID查询回复时ID无效: {}", parentId); return ResponseMessage.failure("父消息ID无效"); } - try { logger.info("根据父消息ID查询回复: {}", parentId); List replies = messageRepository.findByParentid(parentId);