diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log index c5ca768..67df9d0 100644 --- a/meeting/logs/meeting-service.log +++ b/meeting/logs/meeting-service.log @@ -19722,3 +19722,3748 @@ This generated password is for development use only. Your security configuration 2025-10-31 12:11:46 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 요청 - userId: minjun.kim@example.com, minutesId: minutes-test 2025-10-31 12:11:46 [http-nio-8082-exec-3] DEBUG c.u.h.m.i.c.MinutesController - 회의록 상세 캐시 히트 - minutesId: minutes-test 2025-10-31 12:11:46 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 342ms +2025-10-31 12:13:48 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:13:48 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_bd49fe_1761880281400","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-31 12:13:48 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:13:48 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 12:13:48 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@2b14628b] for TypeConfiguration +2025-10-31 12:13:48 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@3c5e7648] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@2b14628b] +2025-10-31 12:13:48 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-31 12:13:48 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-31 12:15:51 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 51174 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-31 12:15:51 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-31 12:15:51 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 77 ms. Found 10 JPA repository interfaces. +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:15:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 22 ms. Found 0 Redis repository interfaces. +2025-10-31 12:15:53 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-31 12:15:53 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-31 12:15:53 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-31 12:15:53 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-31 12:15:53 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1204 ms +2025-10-31 12:15:53 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-31 12:15:53 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-31 12:15:53 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@7cd8831c +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@7cd8831c +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@146db8a6 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@25c8c71e +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@1a7a21d0 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@bb21063 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@bb21063 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@bb21063 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@6821c63c +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@c2f7c63 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@4790b897 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@5cba890e +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@5cba890e +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@4d770bcd +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@fe156f4 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@79b4cff +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@58ac0823 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@2d705998 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@28a3fc34 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@7582a16b +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@7582a16b +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@4dd752e8 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@4dd752e8 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@62c46e53 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@62c46e53 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@55317c63 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@55317c63 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@35d81657 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@35d81657 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@42ef5216 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@3180aee +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@5d94ac8a +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@5d94ac8a +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@288b73c1 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@5340ccb9 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@2bc8caa7 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@2bc8caa7 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@582ea164 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2fccf49e +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@7abcc0da +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@7abcc0da +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@6ec2d990 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@612290d +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@612290d +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@60fbc34d +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@7736c41e +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@7736c41e +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@33ccead +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@33ccead +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@42ebece0 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@42ebece0 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@15c4b1a4 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@15c4b1a4 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@51b59d58 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@4ca4f762 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@fcd3a6f +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@fcd3a6f +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@1760e688 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@53fc870f +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@43cbafa6 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@538f45f1 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@64fc6470 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@5cf3a7f9 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@42db955e +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@6bd2f039 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6c8ad6d7 +2025-10-31 12:15:53 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-31 12:15:53 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead +2025-10-31 12:15:53 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-31 12:15:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@792eeae6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@66e62fc4) +2025-10-31 12:15:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@7e28f150) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@23aaa756) +2025-10-31 12:15:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-31 12:15:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@61aa6300 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@61aa6300 +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@fcd3a6f` +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:15:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:15:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@5cc87de4] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@706690e1] +2025-10-31 12:15:53 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 12:15:53 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 12:15:54 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-31 12:15:54 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@5cc87de4] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@7421213d] +2025-10-31 12:15:54 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 12:15:54 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 12:15:54 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@7421213d] for TypeConfiguration +2025-10-31 12:15:54 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 12:15:54 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-31 12:15:54 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-31 12:15:55 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-31 12:15:55 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-31 12:15:55 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-31 12:15:55 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-31 12:15:55 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-31 12:15:55 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-31 12:15:55 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_aeea25_1761880555275"} +2025-10-31 12:15:55 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:15:55 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-31 12:15:55 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: e51645ca-b5ab-473e-b700-32b72d7fad71 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-31 12:15:55 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-31 12:15:55 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-31 12:15:55 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-31 12:15:55 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-31 12:15:56 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-31 12:15:56 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-31 12:15:56 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.7 seconds (process running for 4.884) +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 14 ms +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@example.com (minjun.kim@example.com) +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [minjun.kim@example.com, minjun.kim@example.com, 0, 10, modified, desc, all, null, null] +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: minjun.kim@example.com, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1e9c2445 +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@example.com +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@example.com +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@example.com +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@example.com +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:15:59 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@example.com, total: 1, filtered: 1 +2025-10-31 12:15:59 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 417ms +2025-10-31 12:16:24 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:16:24 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_aeea25_1761880555275","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-31 12:16:24 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:16:24 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 12:16:24 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@7421213d] for TypeConfiguration +2025-10-31 12:16:24 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@6709287d] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@7421213d] +2025-10-31 12:16:24 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-31 12:16:25 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-31 12:25:11 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 52961 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-31 12:25:11 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-31 12:25:11 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 79 ms. Found 10 JPA repository interfaces. +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:25:12 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces. +2025-10-31 12:25:13 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-31 12:25:13 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-31 12:25:13 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-31 12:25:13 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-31 12:25:13 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1168 ms +2025-10-31 12:25:13 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-31 12:25:13 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-31 12:25:13 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3df6494f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@3df6494f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@3df6494f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@1b5f960a +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@1b5f960a +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@7cd8831c +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@7cd8831c +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@146db8a6 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@25c8c71e +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@1a7a21d0 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@bb21063 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@6821c63c +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@c2f7c63 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@c2f7c63 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@4790b897 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@4790b897 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@5cba890e +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@4d770bcd +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@fe156f4 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@79b4cff +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@58ac0823 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@2d705998 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@2d705998 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@28a3fc34 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@28a3fc34 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@7582a16b +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@7582a16b +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@4dd752e8 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@4dd752e8 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@62c46e53 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@62c46e53 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@55317c63 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@35d81657 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@42ef5216 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@42ef5216 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@3180aee +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@5d94ac8a +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@288b73c1 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@5340ccb9 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2bc8caa7 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@582ea164 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@582ea164 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@2fccf49e +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@2fccf49e +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@7abcc0da +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@7abcc0da +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@7abcc0da +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@6ec2d990 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@6ec2d990 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@612290d +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@60fbc34d +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@60fbc34d +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@60fbc34d +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@7736c41e +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@7736c41e +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@33ccead +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@33ccead +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@42ebece0 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@42ebece0 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@15c4b1a4 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@5ddf5118 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@5ddf5118 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@637506d8 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@5c60f096 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@53fc870f +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@18f4086e +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@43cbafa6 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@538f45f1 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@64fc6470 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@5cf3a7f9 +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@42db955e +2025-10-31 12:25:13 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-31 12:25:13 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead +2025-10-31 12:25:13 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-31 12:25:13 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@3bf4644c) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@30adae45) +2025-10-31 12:25:13 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@792eeae6) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@66e62fc4) +2025-10-31 12:25:13 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-31 12:25:13 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@7aaf6bfd +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@7aaf6bfd +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@5ddf5118` +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:25:13 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:25:13 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@5392aa2b] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@174f0d06] +2025-10-31 12:25:13 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 12:25:13 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 12:25:14 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-31 12:25:14 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@5392aa2b] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@7955b4d4] +2025-10-31 12:25:14 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 12:25:14 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 12:25:14 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@7955b4d4] for TypeConfiguration +2025-10-31 12:25:14 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 12:25:14 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-31 12:25:14 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-31 12:25:14 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-31 12:25:14 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-31 12:25:14 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-31 12:25:15 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-31 12:25:15 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-31 12:25:15 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-31 12:25:15 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_069627_1761881115117"} +2025-10-31 12:25:15 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:25:15 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-31 12:25:15 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 4adfcaba-83fb-47ae-9756-a0b66862c6dd + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-31 12:25:15 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-31 12:25:15 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-31 12:25:15 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-31 12:25:15 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-31 12:25:15 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-31 12:25:16 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-31 12:25:16 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.385 seconds (process running for 4.547) +2025-10-31 12:25:26 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-31 12:25:26 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-31 12:25:26 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2025-10-31 12:25:26 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-31 12:25:26 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-31 12:25:26 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-31 12:25:26 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-31 12:25:26 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-31 12:25:26 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-31 12:25:26 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-31 12:25:26 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-31 12:25:26 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-31 12:25:26 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-31 12:25:26 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-31 12:25:26 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-31 12:25:26 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-31 12:25:26 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-31 12:25:26 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-31 12:25:26 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-31 12:25:26 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@67c272e8]] +2025-10-31 12:25:26 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-31 12:25:26 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-31 12:25:26 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-31 12:25:26 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-31 12:25:26 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 호출 - 파라미터: [SecurityContextHolderAwareRequestWrapper[ org.springframework.security.web.header.HeaderWriterFilter$HeaderWriterRequest@466f8626], /v3/api-docs, ko_KR] +2025-10-31 12:25:26 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 476 ms +2025-10-31 12:25:26 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 491ms +2025-10-31 12:25:42 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/dashboard +2025-10-31 12:25:42 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com) +2025-10-31 12:25:42 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/dashboard +2025-10-31 12:25:42 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, minjun.kim@kt.com] +2025-10-31 12:25:42 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 요청 - userId: minjun.kim@kt.com +2025-10-31 12:25:43 [http-nio-8082-exec-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-31 12:25:43 [http-nio-8082-exec-4] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@744c4825 +2025-10-31 12:25:43 [http-nio-8082-exec-4] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG c.u.h.m.biz.service.DashboardService - Getting dashboard for user: minjun.kim@kt.com +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.status=? + and me1_0.scheduled_at */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.gateway.DashboardGateway - 조회된 회의 목록 - userId: minjun.kim@kt.com, 총 4개 (SCHEDULED: 0, IN_PROGRESS: 1, COMPLETED: 3) +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.gateway.DashboardGateway - 회의록 조회 시작 - userId: minjun.kim@kt.com, startTime: 2025-10-01T12:25:43.707486, endTime: 2025-10-31T12:25:43.707496 +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.gateway.DashboardGateway - 조회된 회의록 수: 2 +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.gateway.DashboardGateway - - minutesId: minutes-test, meetingId: meeting-test, title: 2025년 1분기 제품 기획 회의, createdBy: minjun.kim@kt.com, createdAt: 2025-10-31T09:33:39.085860 +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG c.u.h.m.i.gateway.DashboardGateway - - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, meetingId: 5571f815-5831-4ac5-9cfa-acfbe98f00d6, title: 회의 예약 테스트 민준씨 - 회의록, createdBy: minjun.kim@kt.com, createdAt: 2025-10-31T03:21:09.721764 +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.organizer_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.user_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.scheduled_at between ? and ? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.meeting_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 +2025-10-31 12:25:43 [http-nio-8082-exec-4] DEBUG org.hibernate.SQL - + /* */ select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.assignee_id=? +2025-10-31 12:25:43 [http-nio-8082-exec-4] INFO c.u.h.m.i.gateway.DashboardGateway - 대시보드 데이터 조회 완료 - userId: minjun.kim@kt.com, 예정 회의: 3개, 최근 회의록: 2개 +2025-10-31 12:25:44 [http-nio-8082-exec-4] INFO c.u.h.m.i.c.DashboardController - 대시보드 데이터 조회 완료 - userId: minjun.kim@kt.com +2025-10-31 12:25:44 [http-nio-8082-exec-4] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.DashboardController.getDashboard 완료 - 실행시간: 1023ms +2025-10-31 12:26:34 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes/minutes-test +2025-10-31 12:26:34 [http-nio-8082-exec-8] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com) +2025-10-31 12:26:34 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes/minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, minutes-test] +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 요청 - userId: minjun.kim@kt.com, minutesId: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes DTO by id: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.minutes_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.h.m.b.s.AgendaSectionService - 안건 섹션 목록 조회 - minutesId: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + ase1_0.id, + ase1_0.agenda_number, + ase1_0.agenda_title, + ase1_0.ai_summary_short, + ase1_0.created_at, + ase1_0.meeting_id, + ase1_0.minutes_id, + ase1_0.pending_items, + ase1_0.summary, + ase1_0.todos, + ase1_0.updated_at + from + agenda_sections ase1_0 + where + ase1_0.minutes_id=? + order by + ase1_0.agenda_number +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + te1_0.todo_id, + te1_0.assignee_id, + te1_0.completed_at, + te1_0.created_at, + te1_0.description, + te1_0.due_date, + te1_0.meeting_id, + te1_0.minutes_id, + te1_0.priority, + te1_0.status, + te1_0.title, + te1_0.updated_at + from + todos te1_0 + where + te1_0.minutes_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.h.m.i.c.MinutesController - Todo 조회 성공 - minutesId: minutes-test, totalCount: 4 +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.h.m.i.c.MinutesController - Dashboard decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.b.s.MinutesSectionService - Getting sections by minutes: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.i.gateway.AiServiceGateway - AI 분석 결과 캐시 미스, AI 서비스 호출 - minutesId: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] ERROR c.u.h.m.i.gateway.AiServiceGateway - AI 서비스 호출 실패 - minutesId: minutes-test, error: I/O error on POST request for "http://ai:8080/api/v1/analysis/minutes": ai +org.springframework.web.client.ResourceAccessException: I/O error on POST request for "http://ai:8080/api/v1/analysis/minutes": ai + at org.springframework.web.client.RestTemplate.createResourceAccessException(RestTemplate.java:915) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:895) + at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:790) + at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:672) + at com.unicorn.hgzero.meeting.infra.gateway.AiServiceGateway.requestAiAnalysis(AiServiceGateway.java:107) + at com.unicorn.hgzero.meeting.infra.gateway.AiServiceGateway.getAiAnalysis(AiServiceGateway.java:51) + at com.unicorn.hgzero.meeting.infra.controller.MinutesController.enhanceWithAiAnalysis(MinutesController.java:979) + at com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail(MinutesController.java:159) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:355) + at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89) + at com.unicorn.hgzero.common.aop.LoggingAspect.logController(LoggingAspect.java:56) + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637) + at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627) + at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97) + at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) + at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) + at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:720) + at com.unicorn.hgzero.meeting.infra.controller.MinutesController$$SpringCGLIB$$0.getMinutesDetail() + at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) + at java.base/java.lang.reflect.Method.invoke(Method.java:580) + at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:255) + at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:188) + at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:926) + at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:831) + at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) + at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) + at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) + at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) + at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) + at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:108) + at org.springframework.security.web.FilterChainProxy.lambda$doFilterInternal$3(FilterChainProxy.java:231) + at org.springframework.security.web.ObservationFilterChainDecorator$FilterObservation$SimpleFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:479) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$1(ObservationFilterChainDecorator.java:340) + at org.springframework.security.web.ObservationFilterChainDecorator.lambda$wrapSecured$0(ObservationFilterChainDecorator.java:82) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:128) + at org.springframework.security.web.access.intercept.AuthorizationFilter.doFilter(AuthorizationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:126) + at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:120) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:131) + at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:85) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:100) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:179) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at com.unicorn.hgzero.meeting.infra.config.jwt.JwtAuthenticationFilter.doFilterInternal(JwtAuthenticationFilter.java:60) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:107) + at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:93) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) + at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:82) + at org.springframework.security.web.context.SecurityContextHolderFilter.doFilter(SecurityContextHolderFilter.java:69) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:62) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:227) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.session.DisableEncodeUrlFilter.doFilterInternal(DisableEncodeUrlFilter.java:42) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.wrapFilter(ObservationFilterChainDecorator.java:240) + at org.springframework.security.web.ObservationFilterChainDecorator$AroundFilterObservation$SimpleAroundFilterObservation.lambda$wrap$0(ObservationFilterChainDecorator.java:323) + at org.springframework.security.web.ObservationFilterChainDecorator$ObservationFilter.doFilter(ObservationFilterChainDecorator.java:224) + at org.springframework.security.web.ObservationFilterChainDecorator$VirtualFilterChain.doFilter(ObservationFilterChainDecorator.java:137) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:233) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.servlet.handler.HandlerMappingIntrospector.lambda$createCacheFilter$3(HandlerMappingIntrospector.java:195) + at org.springframework.web.filter.CompositeFilter$VirtualFilterChain.doFilter(CompositeFilter.java:113) + at org.springframework.web.filter.CompositeFilter.doFilter(CompositeFilter.java:74) + at org.springframework.security.config.annotation.web.configuration.WebMvcSecurityConfiguration$CompositeFilterChainProxy.doFilter(WebMvcSecurityConfiguration.java:230) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:362) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:278) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:113) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:384) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:905) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1190) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) + at java.base/java.lang.Thread.run(Thread.java:1583) +Caused by: java.net.UnknownHostException: ai + at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:567) + at java.base/java.net.Socket.connect(Socket.java:751) + at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531) + at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636) + at java.base/sun.net.www.http.HttpClient.(HttpClient.java:282) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:386) + at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:408) + at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1320) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1253) + at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1139) + at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1068) + at org.springframework.http.client.SimpleClientHttpRequest.executeInternal(SimpleClientHttpRequest.java:79) + at org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:70) + at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:66) + at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:889) + ... 158 common frames omitted +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.i.c.MinutesController - AI 분석 요청 이벤트 발행 스킵 - DB 값 사용 - minutesId: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] DEBUG c.u.h.m.infra.cache.CacheService - 회의록 상세 캐시 저장 - minutesId: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.h.m.i.c.MinutesController - 회의록 상세 조회 성공 - minutesId: minutes-test +2025-10-31 12:26:35 [http-nio-8082-exec-8] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesDetail 완료 - 실행시간: 815ms +2025-10-31 12:30:57 [lettuce-nioEventLoop-6-1] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset +java.net.SocketException: Connection reset + at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) + at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.base/java.lang.Thread.run(Thread.java:1583) +2025-10-31 12:30:57 [lettuce-eventExecutorLoop-1-2] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379 +2025-10-31 12:30:57 [lettuce-nioEventLoop-6-2] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379 +2025-10-31 12:35:24 [lettuce-nioEventLoop-6-2] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset +java.net.SocketException: Connection reset + at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) + at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.base/java.lang.Thread.run(Thread.java:1583) +2025-10-31 12:35:24 [lettuce-eventExecutorLoop-1-3] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379 +2025-10-31 12:35:24 [lettuce-nioEventLoop-6-3] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379 +2025-10-31 12:45:16 [lettuce-nioEventLoop-6-3] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset +java.net.SocketException: Connection reset + at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) + at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.base/java.lang.Thread.run(Thread.java:1583) +2025-10-31 12:45:16 [lettuce-eventExecutorLoop-1-4] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379 +2025-10-31 12:45:16 [lettuce-nioEventLoop-6-4] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379 +2025-10-31 12:49:43 [lettuce-nioEventLoop-6-4] INFO i.l.core.protocol.CommandHandler - null Unexpected exception during request: java.net.SocketException: Connection reset +java.net.SocketException: Connection reset + at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:401) + at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:434) + at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) + at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) + at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356) + at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) + at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) + at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) + at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) + at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) + at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) + at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) + at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) + at java.base/java.lang.Thread.run(Thread.java:1583) +2025-10-31 12:49:43 [lettuce-eventExecutorLoop-1-5] INFO i.l.core.protocol.ConnectionWatchdog - Reconnecting, last destination was /20.249.177.114:6379 +2025-10-31 12:49:43 [lettuce-nioEventLoop-6-5] INFO i.l.c.protocol.ReconnectionHandler - Reconnected to 20.249.177.114/:6379 +2025-10-31 12:52:47 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:52:47 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_069627_1761881115117","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-31 12:52:47 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:52:47 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 12:52:47 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@7955b4d4] for TypeConfiguration +2025-10-31 12:52:47 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@41765f26] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@7955b4d4] +2025-10-31 12:52:47 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-31 12:52:47 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-31 12:52:48 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 55342 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-31 12:52:48 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-31 12:52:48 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 79 ms. Found 10 JPA repository interfaces. +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 12:52:49 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces. +2025-10-31 12:52:50 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-31 12:52:50 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-31 12:52:50 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-31 12:52:50 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-31 12:52:50 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1262 ms +2025-10-31 12:52:50 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-31 12:52:50 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-31 12:52:50 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@7cd8831c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@7cd8831c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@146db8a6 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@146db8a6 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@25c8c71e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@25c8c71e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@25c8c71e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@57867d96 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@1a7a21d0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@1a7a21d0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@bb21063 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@bb21063 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@6821c63c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@6821c63c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@6821c63c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@c2f7c63 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@4790b897 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@4790b897 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@5cba890e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@3a4cb483 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4d770bcd +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@fe156f4 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@79b4cff +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@58ac0823 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@58ac0823 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@2d705998 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@2d705998 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@28a3fc34 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@7582a16b +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@4dd752e8 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@62c46e53 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@55317c63 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@35d81657 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@42ef5216 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@42ef5216 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@3180aee +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@3180aee +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@5d94ac8a +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@5d94ac8a +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@288b73c1 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@288b73c1 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@104cfb24 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@5340ccb9 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2bc8caa7 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@582ea164 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@582ea164 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@2fccf49e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@7abcc0da +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@174cb0d8 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@3ac406d4 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@72646d16 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@6ec2d990 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@1cfa7ee0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@612290d +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@612290d +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@57cff804 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@2f39b534 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@60fbc34d +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@7736c41e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@5f911d24 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@3de383f7 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@33ccead +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@42ebece0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@15c4b1a4 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@15c4b1a4 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@341964d0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@51b59d58 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@51b59d58 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@4ca4f762 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@4ca4f762 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@7c5d36c3 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@7c5d36c3 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@31de27c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@31de27c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@7ebfe01a +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@7ebfe01a +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@154b0748 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@35c00c +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@27d6267e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@27d6267e +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@64fc6470 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@5cf3a7f9 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@6bd2f039 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@6c8ad6d7 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@2d0778d0 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@33e8694b +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@4fc71437 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@75c15f76 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@631678e6 +2025-10-31 12:52:50 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-31 12:52:50 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead +2025-10-31 12:52:50 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-31 12:52:50 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7a92827f) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@43094e0c) +2025-10-31 12:52:50 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@35efd12c) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@70f76276) +2025-10-31 12:52:50 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-31 12:52:50 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@563392e5 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@563392e5 +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@27d6267e` +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:52:50 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 12:52:50 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@236a3e4] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@2987b699] +2025-10-31 12:52:50 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 12:52:50 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 12:52:51 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-31 12:52:51 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@236a3e4] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@6e98fd10] +2025-10-31 12:52:51 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 12:52:51 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 12:52:51 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@6e98fd10] for TypeConfiguration +2025-10-31 12:52:51 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 12:52:51 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-31 12:52:51 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-31 12:52:51 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-31 12:52:51 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-31 12:52:52 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-31 12:52:52 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-31 12:52:52 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-31 12:52:52 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-31 12:52:52 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_4f40a3_1761882772190"} +2025-10-31 12:52:52 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-31 12:52:52 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-31 12:52:52 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: cf2c39a1-68fe-4da1-a10b-96fd6103452f + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-31 12:52:52 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-31 12:52:52 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-31 12:52:52 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-31 12:52:52 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-31 12:52:52 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-31 12:52:53 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-31 12:52:53 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.709 seconds (process running for 4.902) +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 4 ms +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@example.com (minjun.kim@example.com) +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [minjun.kim@example.com, minjun.kim@example.com, 0, 10, modified, desc, all, null, null] +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: minjun.kim@example.com, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@5ebbf055 +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@example.com +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@example.com +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@example.com +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@example.com +2025-10-31 13:05:57 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@example.com, total: 0, filtered: 0 +2025-10-31 13:05:57 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 341ms +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com) +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, 0, 10, modified, desc, all, null, null] +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: minjun.kim@kt.com, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 5571f815-5831-4ac5-9cfa-acfbe98f00d6 +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:06:14 [http-nio-8082-exec-3] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@kt.com, total: 2, filtered: 2 +2025-10-31 13:06:14 [http-nio-8082-exec-3] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 334ms +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com) +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:08:13 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, 0, 10, modified, desc, all, null, null] +2025-10-31 13:08:13 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: minjun.kim@kt.com, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:08:13 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:08:13 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:13 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:08:14 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 5571f815-5831-4ac5-9cfa-acfbe98f00d6 +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: ed7307b0-752c-4436-ad59-0cd3d315d8cb +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:08:14 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:08:14 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:08:14 [http-nio-8082-exec-5] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:08:14 [http-nio-8082-exec-5] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null +2025-10-31 13:08:14 [http-nio-8082-exec-5] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@kt.com, total: 3, filtered: 3 +2025-10-31 13:08:14 [http-nio-8082-exec-5] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 578ms +2025-10-31 13:13:27 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:13:27 [http-nio-8082-exec-7] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com) +2025-10-31 13:13:27 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:13:27 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, 0, 10, modified, desc, all, null, null] +2025-10-31 13:13:27 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: minjun.kim@kt.com, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-31 13:13:27 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@5ebbf055 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-31 13:13:27 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@1ef950bb (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-31 13:13:32 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@e7ff500 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-31 13:13:32 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@2fbf38cf (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-31 13:13:32 [http-nio-8082-exec-7] WARN com.zaxxer.hikari.pool.PoolBase - HikariPool-1 - Failed to validate connection org.postgresql.jdbc.PgConnection@7fe18d08 (This connection has been closed.). Possibly consider using a shorter maxLifetime value. +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 5571f815-5831-4ac5-9cfa-acfbe98f00d6 +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: ed7307b0-752c-4436-ad59-0cd3d315d8cb +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:32 [http-nio-8082-exec-7] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@kt.com, total: 3, filtered: 3 +2025-10-31 13:13:32 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 5429ms +2025-10-31 13:13:32 [http-nio-8082-exec-7] WARN o.s.w.s.m.s.DefaultHandlerExceptionResolver - Resolved [org.springframework.web.context.request.async.AsyncRequestNotUsableException: ServletOutputStream failed to flush: java.nio.channels.ClosedChannelException] +2025-10-31 13:13:32 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-31 13:13:32 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_4f40a3_1761882772190","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-31 13:13:32 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-31 13:13:32 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 13:13:32 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@6e98fd10] for TypeConfiguration +2025-10-31 13:13:32 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@220aab55] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@6e98fd10] +2025-10-31 13:13:32 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-31 13:13:32 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-31 13:13:34 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 57384 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-31 13:13:34 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-31 13:13:34 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-31 13:13:34 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 13:13:34 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-31 13:13:34 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 77 ms. Found 10 JPA repository interfaces. +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.AgendaSectionRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingAnalysisJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MeetingParticipantJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.MinutesSectionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.SessionJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TemplateJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationExtensionSupport - Spring Data Redis - Could not safely identify store assignment for repository candidate interface com.unicorn.hgzero.meeting.infra.gateway.repository.TodoJpaRepository; If you want this repository to be a Redis repository, consider annotating your entities with one of these annotations: org.springframework.data.redis.core.RedisHash (preferred), or consider extending one of the following types with your repository: org.springframework.data.keyvalue.repository.KeyValueRepository +2025-10-31 13:13:35 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21 ms. Found 0 Redis repository interfaces. +2025-10-31 13:13:35 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-31 13:13:35 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-31 13:13:35 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-31 13:13:35 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-31 13:13:35 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1194 ms +2025-10-31 13:13:35 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-31 13:13:35 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-31 13:13:35 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@129c760d +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@129c760d +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@129c760d +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@361fa478 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@361fa478 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@180f33b2 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@180f33b2 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@391e85df +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@391e85df +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@48c3a0ef +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@48c3a0ef +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@48c3a0ef +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@3b4f1eb +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@3b4f1eb +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@3b4f1eb +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@6247c08c +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@6247c08c +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@2f3a8166 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@7aab98b6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@7aab98b6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@5e3405a1 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@22bfd4b +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@79e16dd9 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@79e16dd9 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@79e16dd9 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@5fa9247b +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@5fa9247b +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@5fa9247b +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@21ce3b22 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@21ce3b22 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@21ce3b22 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@7cd25bf5 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@7cd25bf5 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@7cd25bf5 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@e2f6e13 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@e2f6e13 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@e2f6e13 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@18b30951 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@18b30951 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@48f4264e +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@48f4264e +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@2697c156 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@2697c156 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@2697c156 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@533d7c61 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@53c40ed6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@53c40ed6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@3a6b94b6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@22ee7fdc +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@22ee7fdc +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@22ee7fdc +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@1a88d194 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@6949cead +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@fe13916 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@278c998 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@278c998 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@25e353dc +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@234ce7ff +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@780a91d0 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@3387ab0 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@470f0637 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@6b278b17 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@6b278b17 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@2ae5580 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@2ae5580 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@4203529f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@4203529f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@7d82ca56 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@7d82ca56 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@2aaa89c2 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@2aaa89c2 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@5a58db42 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@217fd3c +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@69ac5752 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@69ac5752 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@1736273c +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@ba86c53 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@36eb8e07 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@3df6494f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@3df6494f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@1b5f960a +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@323b0632 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@7cd8831c +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@146db8a6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@146db8a6 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2a20da9f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@40c0437f +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@78b8f818 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@1e9d721 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@2d3111a1 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@6f2864c3 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@50ef2906 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@1f70bce5 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@3ae91ab3 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@16cb6f51 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@3fc5d397 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@25c8c71e +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@180cc0df +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@180cc0df +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@3e71a1f8 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@5d4a34ff +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@1ef04613 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@2d3d4a54 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@215c6ec0 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@2b19b346 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@37c5b8e8 +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@706d2bae +2025-10-31 13:13:35 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@3205610d +2025-10-31 13:13:35 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-31 13:13:35 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [hibernate.temp.use_jdbc_metadata_defaults], use [hibernate.boot.allow_jdbc_metadata_access] instead +2025-10-31 13:13:36 [main] WARN org.hibernate.orm.deprecation - HHH90000025: PostgreSQLDialect does not need to be specified explicitly using 'hibernate.dialect' (remove the property setting and it will be selected by default) +2025-10-31 13:13:36 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@2484c868) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@19d13d04) +2025-10-31 13:13:36 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@30d5fc1b) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@7957aa57) +2025-10-31 13:13:36 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-31 13:13:36 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@603faaad +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@603faaad +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@180cc0df` +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 13:13:36 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-31 13:13:36 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@6003eb60] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@571e2f15] +2025-10-31 13:13:36 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 13:13:36 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 13:13:36 [main] INFO o.h.e.t.j.p.i.JtaPlatformInitiator - HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) +2025-10-31 13:13:36 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@6003eb60] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@548e70f0] +2025-10-31 13:13:36 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.database.action], use [jakarta.persistence.schema-generation.database.action] instead +2025-10-31 13:13:36 [main] WARN org.hibernate.orm.deprecation - HHH90000021: Encountered deprecated setting [javax.persistence.schema-generation.scripts.action], use [jakarta.persistence.schema-generation.scripts.action] instead +2025-10-31 13:13:36 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@548e70f0] for TypeConfiguration +2025-10-31 13:13:36 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-31 13:13:36 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-31 13:13:37 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-31 13:13:37 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-31 13:13:37 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-31 13:13:37 [main] ERROR i.n.r.d.DnsServerAddressStreamProviders - Unable to load io.netty.resolver.dns.macos.MacOSDnsServerAddressStreamProvider, fallback to system defaults. This may result in incorrect DNS resolutions on MacOS. Check whether you have a dependency on 'io.netty:netty-resolver-dns-native-macos'. Use DEBUG level to see the full stack: java.lang.UnsatisfiedLinkError: failed to load the required native library +2025-10-31 13:13:37 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-31 13:13:37 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-31 13:13:37 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-31 13:13:37 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_0db1d8_1761884017556"} +2025-10-31 13:13:37 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-31 13:13:37 [main] WARN o.s.b.a.o.j.JpaBaseConfiguration$JpaWebConfiguration - spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning +2025-10-31 13:13:37 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 23c15b50-86e6-4eeb-8cb8-b0338ca76bae + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-31 13:13:37 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-31 13:13:37 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-31 13:13:38 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-31 13:13:38 [main] DEBUG o.s.s.web.DefaultSecurityFilterChain - Will secure any request with filters: DisableEncodeUrlFilter, WebAsyncManagerIntegrationFilter, SecurityContextHolderFilter, HeaderWriterFilter, CorsFilter, LogoutFilter, JwtAuthenticationFilter, RequestCacheAwareFilter, SecurityContextHolderAwareRequestFilter, AnonymousAuthenticationFilter, SessionManagementFilter, ExceptionTranslationFilter, AuthorizationFilter +2025-10-31 13:13:38 [main] WARN o.s.b.a.t.ThymeleafAutoConfiguration$DefaultTemplateResolverConfiguration - Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) +2025-10-31 13:13:38 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-31 13:13:38 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.411 seconds (process running for 4.625) +2025-10-31 13:13:44 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-31 13:13:44 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-31 13:13:44 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2025-10-31 13:13:44 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:13:44 [http-nio-8082-exec-1] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: minjun.kim@kt.com (minjun.kim@kt.com) +2025-10-31 13:13:44 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/meetings/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-31 13:13:44 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [minjun.kim@kt.com, minjun.kim@kt.com, 0, 10, modified, desc, all, null, null] +2025-10-31 13:13:44 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: minjun.kim@kt.com, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-31 13:13:44 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@1de2f58b +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + me1_0.meeting_id, + me1_0.created_at, + me1_0.description, + me1_0.end_time, + me1_0.ended_at, + me1_0.location, + me1_0.organizer_id, + me1_0.purpose, + me1_0.scheduled_at, + me1_0.started_at, + me1_0.status, + me1_0.template_id, + me1_0.title, + me1_0.updated_at + from + meetings me1_0 + where + me1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + select + p1_0.meeting_id, + p1_0.user_id, + p1_0.attended, + p1_0.created_at, + p1_0.invitation_status, + p1_0.updated_at + from + meeting_participants p1_0 + where + p1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: 5571f815-5831-4ac5-9cfa-acfbe98f00d6 +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: meeting-test +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MeetingService - Getting meeting: ed7307b0-752c-4436-ad59-0cd3d315d8cb +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG c.u.h.m.biz.service.MinutesService - Getting minutes list by userId: minjun.kim@kt.com +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG c.u.h.m.infra.gateway.MinutesGateway - 사용자가 참여한 회의의 회의록 조회: minjun.kim@kt.com +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + me1_0.minutes_id, + me1_0.created_at, + me1_0.created_by, + me1_0.decisions, + me1_0.finalized_at, + me1_0.finalized_by, + me1_0.meeting_id, + me1_0.status, + me1_0.title, + me1_0.updated_at, + me1_0.user_id, + me1_0.version + from + minutes me1_0 + where + me1_0.created_by=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 465ca71a-c270-451f-bfdf-53b7b537db25, decisions: null +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: minutes-test, decisions: 베타 버전 출시일: 2025년 12월 1일\n배경: 개발 일정 및 시장 진입 시기를 고려하여 12월 초 출시가 최적. Q4 마무리 전 베타 피드백 확보 가능.\n타겟 고객: 중소기업 및 스타트업\n배경: 사용자 인터뷰 결과, 중소기업과 스타트업이 회의록 작성에 가장 많은 시간을 소비하며 자동화 니즈가 높음. +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + mpe1_0.meeting_id, + mpe1_0.user_id, + mpe1_0.attended, + mpe1_0.created_at, + mpe1_0.invitation_status, + mpe1_0.updated_at + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* */ select + count(*) + from + meeting_participants mpe1_0 + where + mpe1_0.meeting_id=? +2025-10-31 13:13:45 [http-nio-8082-exec-1] DEBUG org.hibernate.SQL - + /* SELECT + m + FROM + MinutesSectionEntity m + WHERE + m.minutesId = :minutesId + ORDER BY + m.order ASC */ select + mse1_0.id, + mse1_0.content, + mse1_0.created_at, + mse1_0.locked, + mse1_0.locked_by, + mse1_0.minutes_id, + mse1_0."order", + mse1_0.title, + mse1_0.type, + mse1_0.updated_at, + mse1_0.verified + from + minutes_sections mse1_0 + where + mse1_0.minutes_id=? + order by + mse1_0."order" +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.biz.service.MinutesService - Minutes decisions 값 확인 - minutesId: 4bf7c8cf-b85a-471f-93a9-d62b329c944d, decisions: null +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: minjun.kim@kt.com, total: 3, filtered: 3 +2025-10-31 13:13:45 [http-nio-8082-exec-1] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 780ms diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java index 9219b45..6743870 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/controller/MinutesController.java @@ -3,15 +3,12 @@ package com.unicorn.hgzero.meeting.infra.controller; import com.unicorn.hgzero.common.dto.ApiResponse; import com.unicorn.hgzero.common.exception.BusinessException; import com.unicorn.hgzero.meeting.biz.domain.Meeting; -import com.unicorn.hgzero.meeting.biz.domain.Minutes; import com.unicorn.hgzero.meeting.biz.domain.MinutesSection; -import com.unicorn.hgzero.meeting.biz.domain.Todo; import com.unicorn.hgzero.meeting.biz.domain.AgendaSection; import com.unicorn.hgzero.meeting.biz.dto.MinutesDTO; import com.unicorn.hgzero.meeting.biz.service.MeetingService; import com.unicorn.hgzero.meeting.biz.service.MinutesService; import com.unicorn.hgzero.meeting.biz.service.MinutesSectionService; -import com.unicorn.hgzero.meeting.biz.service.TodoService; import com.unicorn.hgzero.meeting.biz.service.AgendaSectionService; import com.unicorn.hgzero.meeting.infra.dto.request.UpdateMinutesRequest; import com.unicorn.hgzero.meeting.infra.dto.request.UpdateAgendaSectionsRequest; @@ -21,7 +18,6 @@ import com.unicorn.hgzero.meeting.infra.cache.CacheService; import com.unicorn.hgzero.meeting.infra.event.publisher.EventPublisher; import com.unicorn.hgzero.meeting.infra.gateway.AiServiceGateway; import com.unicorn.hgzero.meeting.biz.dto.AiAnalysisDTO; -import com.unicorn.hgzero.meeting.infra.event.dto.MinutesAnalysisRequestEvent; import com.unicorn.hgzero.meeting.infra.event.dto.MinutesFinalizedEvent; import com.unicorn.hgzero.meeting.infra.event.dto.MinutesSectionDTO; import com.unicorn.hgzero.meeting.biz.usecase.out.ParticipantReader; @@ -40,17 +36,10 @@ import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; import java.time.Duration; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.time.temporal.ChronoUnit; import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; import java.util.List; import java.util.Optional; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -69,7 +58,6 @@ public class MinutesController { private final CacheService cacheService; private final EventPublisher eventPublisher; private final MeetingService meetingService; - private final TodoService todoService; private final AiServiceGateway aiServiceGateway; private final AgendaSectionService agendaSectionService; private final ParticipantReader participantReader; @@ -119,6 +107,9 @@ public class MinutesController { .filter(item -> filterByParticipationType(item, participationType)) .filter(item -> filterBySearch(item, search)) .collect(Collectors.toList()); + + // 필터링 후 정렬 적용 (프론트엔드 정렬과 일치) + applySorting(filteredMinutes, sortBy, sortDir); // 통계 계산 (전체 데이터 기준) MinutesListResponse.Statistics stats = calculateRealStatistics(userId, participationType); @@ -478,7 +469,8 @@ public class MinutesController { case "title": return Sort.by(direction, "title"); case "meeting": - return Sort.by(direction, "createdAt"); // 회의 일시로 정렬 (임시로 생성일시 사용) + // 회의 일시로 정렬 - DB에 meetingDate 필드가 없으므로 createdAt 사용 + return Sort.by(direction, "createdAt"); case "modified": default: return Sort.by(direction, "lastModifiedAt"); @@ -531,16 +523,38 @@ public class MinutesController { private MinutesListResponse.MinutesItem convertToMinutesItem(MinutesDTO minutesDTO, String userId) { // 검증완료율 계산 (작성중 상태일 때는 verificationRate 사용, 확정완료시 100%) - int completionRate; + int verificationRate; if ("DRAFT".equals(minutesDTO.getStatus()) && minutesDTO.getVerificationRate() != null) { - completionRate = minutesDTO.getVerificationRate(); + verificationRate = minutesDTO.getVerificationRate(); } else if ("FINALIZED".equals(minutesDTO.getStatus())) { - completionRate = 100; + verificationRate = 100; } else { // 기본값 0 - completionRate = 0; + verificationRate = 0; } + // 회의 날짜/시간 추출 + LocalDateTime meetingDateTime = minutesDTO.getCreatedAt(); // 임시로 생성일시 사용 + String meetingTime = null; + + // 실제 회의 정보에서 날짜/시간 추출 시도 + try { + var meeting = meetingService.getMeeting(minutesDTO.getMeetingId()); + if (meeting.getScheduledAt() != null) { + meetingDateTime = meeting.getScheduledAt(); + meetingTime = meeting.getScheduledAt().toLocalTime().toString().substring(0, 5); + } else if (meeting.getStartedAt() != null) { + meetingDateTime = meeting.getStartedAt(); + meetingTime = meeting.getStartedAt().toLocalTime().toString().substring(0, 5); + } + } catch (Exception e) { + log.debug("회의 정보 조회 실패, 기본값 사용 - meetingId: {}", minutesDTO.getMeetingId()); + meetingTime = meetingDateTime.toLocalTime().toString().substring(0, 5); + } + + // 생성자 이름 조회 (임시) + String creatorName = getUserName(minutesDTO.getCreatedBy()); + return MinutesListResponse.MinutesItem.builder() .minutesId(minutesDTO.getMinutesId()) .title(minutesDTO.getTitle()) @@ -549,14 +563,16 @@ public class MinutesController { .version(minutesDTO.getVersion()) .createdAt(minutesDTO.getCreatedAt()) .lastModifiedAt(minutesDTO.getLastModifiedAt()) - .meetingDate(minutesDTO.getCreatedAt()) // 임시로 생성일시 사용 + .meetingDate(meetingDateTime) + .meetingTime(meetingTime) .createdBy(minutesDTO.getCreatedBy()) + .createdByName(creatorName) .lastModifiedBy(minutesDTO.getLastModifiedBy()) .participantCount(minutesDTO.getParticipantCount() != null ? minutesDTO.getParticipantCount() : 0) .todoCount(minutesDTO.getTodoCount()) .completedTodoCount(minutesDTO.getCompletedTodoCount()) - .completionRate(completionRate) - .isCreatedByUser(minutesDTO.getCreatedBy().equals(userId)) // 현재 사용자가 생성자인지 확인 + .verificationRate(verificationRate) + .isCreator(minutesDTO.getCreatedBy().equals(userId)) // 현재 사용자가 생성자인지 확인 .build(); } @@ -585,9 +601,9 @@ public class MinutesController { } if ("created".equals(participationType)) { - return item.isCreatedByUser(); // 사용자가 생성한 회의록만 + return item.isCreator(); // 사용자가 생성한 회의록만 } else if ("attended".equals(participationType)) { - return !item.isCreatedByUser(); // 사용자가 참여만 한 회의록 + return !item.isCreator(); // 사용자가 참여만 한 회의록 } return true; @@ -606,7 +622,7 @@ public class MinutesController { } /** - * 정렬 적용 + * 정렬 적용 (필터링 후) */ private void applySorting(List items, String sortBy, String sortDir) { boolean ascending = "asc".equalsIgnoreCase(sortDir); @@ -618,78 +634,20 @@ public class MinutesController { b.getTitle().compareTo(a.getTitle())); break; case "meeting": + // 회의 날짜순 정렬 (최근회의순은 desc가 기본) items.sort((a, b) -> ascending ? a.getMeetingDate().compareTo(b.getMeetingDate()) : b.getMeetingDate().compareTo(a.getMeetingDate())); break; case "modified": default: + // 최근수정순 정렬 (desc가 기본) items.sort((a, b) -> ascending ? a.getLastModifiedAt().compareTo(b.getLastModifiedAt()) : b.getLastModifiedAt().compareTo(a.getLastModifiedAt())); break; } } - - /** - * 통계 계산 - */ - private MinutesListResponse.Statistics calculateStatistics(List allItems, - String participationType, String userId) { - List filteredItems = allItems.stream() - .filter(item -> filterByParticipationType(item, participationType)) - .collect(Collectors.toList()); - - long totalCount = filteredItems.size(); - long draftCount = filteredItems.stream() - .filter(item -> "DRAFT".equals(item.getStatus())) - .count(); - long completeCount = filteredItems.stream() - .filter(item -> "FINALIZED".equals(item.getStatus())) - .count(); - - return MinutesListResponse.Statistics.builder() - .totalCount(totalCount) - .draftCount(draftCount) - .completeCount(completeCount) - .build(); - } - - - /** - * Mock 관련회의록 생성 (프로토타입 기반) - */ - private List createMockRelatedMinutes() { - return List.of( - MinutesDetailResponse.RelatedMinutes.builder() - .minutesId("minutes-related-001") - .title("AI 기능 개선 회의") - .meetingDate(LocalDateTime.of(2025, 10, 23, 15, 0)) - .author("이준호") - .relevancePercentage(92) - .relevanceLevel("HIGH") - .summary("AI 요약 정확도 개선 방안 논의. BERT 모델 도입 및 학습 데이터 확보 계획 수립.") - .build(), - MinutesDetailResponse.RelatedMinutes.builder() - .minutesId("minutes-related-002") - .title("개발 리소스 계획 회의") - .meetingDate(LocalDateTime.of(2025, 10, 22, 11, 0)) - .author("김민준") - .relevancePercentage(88) - .relevanceLevel("MEDIUM") - .summary("Q4 개발 리소스 현황 및 배분 계획. 신규 프로젝트 우선순위 협의.") - .build(), - MinutesDetailResponse.RelatedMinutes.builder() - .minutesId("minutes-related-003") - .title("경쟁사 분석 회의") - .meetingDate(LocalDateTime.of(2025, 10, 20, 10, 0)) - .author("박서연") - .relevancePercentage(78) - .relevanceLevel("MEDIUM") - .summary("경쟁사 A, B, C 분석 결과. 우리의 차별점은 실시간 협업 및 검증 기능.") - .build() - ); - } private MinutesDetailResponse convertToMinutesDetailResponse(MinutesDTO minutesDTO) { try { @@ -951,11 +909,6 @@ public class MinutesController { .build(); } - private int calculateActualDuration(Object meeting) { - // TODO: 실제 회의 시간 계산 로직 구현 - // Meeting 객체에서 startedAt, endedAt을 사용하여 계산 - return 90; - } private MinutesDetailResponse.AgendaInfo convertToAgendaInfo(Object section) { if (!(section instanceof MinutesSection)) { @@ -989,38 +942,6 @@ public class MinutesController { - private MinutesDetailResponse.SimpleTodo convertToSimpleTodo(Object todo) { - if (!(todo instanceof Todo)) { - log.warn("Todo가 아닌 객체가 전달됨: {}", todo.getClass().getSimpleName()); - return MinutesDetailResponse.SimpleTodo.builder() - .todoId("unknown-todo") - .title("변환 실패 Todo") - .assigneeName("알 수 없음") - .status("PENDING") - .priority("LOW") - .dueDate(LocalDateTime.now().plusDays(7)) - .dueDayStatus("D-7") - .build(); - } - - Todo todoEntity = (Todo) todo; - - // 담당자 이름 조회 (현재는 기본값 사용, 실제로는 User 서비스에서 조회 필요) - String assigneeName = getAssigneeName(todoEntity.getAssigneeId()); - - // 마감일 상태 계산 - String dueDayStatus = calculateDueDayStatus(todoEntity.getDueDate(), todoEntity.getStatus()); - - return MinutesDetailResponse.SimpleTodo.builder() - .todoId(todoEntity.getTodoId()) - .title(todoEntity.getTitle() != null ? todoEntity.getTitle() : "제목 없음") - .assigneeName(assigneeName) - .status(todoEntity.getStatus() != null ? todoEntity.getStatus() : "PENDING") - .priority(todoEntity.getPriority() != null ? todoEntity.getPriority() : "MEDIUM") - .dueDate(todoEntity.getDueDate() != null ? todoEntity.getDueDate().atStartOfDay() : null) - .dueDayStatus(dueDayStatus) - .build(); - } private List extractKeyPoints(List agendas) { // 안건별 AI 요약에서 핵심내용 추출 @@ -1044,51 +965,6 @@ public class MinutesController { } - /** - * 담당자 이름 조회 (실제로는 User 서비스에서 조회 필요) - */ - private String getAssigneeName(String assigneeId) { - if (assigneeId == null) { - return "미지정"; - } - - // TODO: 실제 User 서비스에서 사용자 정보 조회 - // 현재는 간단한 매핑 사용 - switch (assigneeId) { - case "user1": - return "김민준"; - case "user2": - return "박서연"; - case "user3": - return "이준호"; - default: - return "사용자" + assigneeId; - } - } - - /** - * 마감일 상태 계산 - */ - private String calculateDueDayStatus(LocalDate dueDate, String status) { - if (dueDate == null) { - return "마감일 없음"; - } - - if ("COMPLETED".equals(status)) { - return "완료"; - } - - LocalDate today = LocalDate.now(); - long daysDiff = ChronoUnit.DAYS.between(today, dueDate); - - if (daysDiff < 0) { - return "D+" + Math.abs(daysDiff); // 마감일 지남 - } else if (daysDiff == 0) { - return "D-Day"; - } else { - return "D-" + daysDiff; - } - } private List extractKeywords(List agendas) { // TODO: AI를 통한 키워드 추출 로직 구현 @@ -1261,41 +1137,6 @@ public class MinutesController { .collect(Collectors.toList()); } - /** - * AI 분석 요청 이벤트 발행 - */ - private void publishAiAnalysisRequest(MinutesDTO minutesDTO, String requesterId, String requesterName) { - try { - // 회의 메타정보 구성 - MinutesAnalysisRequestEvent.MeetingMeta meetingMeta = MinutesAnalysisRequestEvent.MeetingMeta.builder() - .title(minutesDTO.getMeetingTitle()) - .meetingDate(minutesDTO.getCreatedAt()) - .participantCount(minutesDTO.getParticipantCount() != null ? minutesDTO.getParticipantCount() : 1) - .durationMinutes(90) // 기본값 - .organizerId(minutesDTO.getCreatedBy()) - .participantIds(new String[]{requesterId}) // 기본값 - .build(); - - // AI 분석 요청 이벤트 생성 - MinutesAnalysisRequestEvent requestEvent = MinutesAnalysisRequestEvent.create( - minutesDTO.getMinutesId(), - minutesDTO.getMeetingId(), - requesterId, - requesterName, - extractContentForAiAnalysis(minutesDTO), - meetingMeta - ); - - // 이벤트 발행 - eventPublisher.publishMinutesAnalysisRequest(requestEvent); - - log.info("AI 분석 요청 이벤트 발행 완료 - minutesId: {}, eventId: {}", - minutesDTO.getMinutesId(), requestEvent.getEventId()); - - } catch (Exception e) { - log.error("AI 분석 요청 이벤트 발행 실패 - minutesId: {}", minutesDTO.getMinutesId(), e); - } - } /** * 실제 회의 시간 계산 diff --git a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java index f88d503..5429364 100644 --- a/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java +++ b/meeting/src/main/java/com/unicorn/hgzero/meeting/infra/dto/response/MinutesListResponse.java @@ -46,12 +46,32 @@ public class MinutesListResponse { private LocalDateTime createdAt; private LocalDateTime lastModifiedAt; private LocalDateTime meetingDate; // 회의 일시 + private String meetingTime; // 회의 시간 (HH:mm 형식) private String createdBy; + private String createdByName; // 생성자 이름 private String lastModifiedBy; private int participantCount; // 참석자 수 private int todoCount; private int completedTodoCount; - private int completionRate; // 검증완료율 - private boolean isCreatedByUser; // 사용자가 생성한 회의록 여부 + private int verificationRate; // 검증완료율 (프로토타입과 일치) + private boolean isCreator; // 현재 사용자가 생성자인지 여부 + + // 편의 메서드 추가 + public String getFormattedDate() { + if (meetingDate != null) { + return meetingDate.toLocalDate().toString(); + } + return ""; + } + + public String getFormattedTime() { + if (meetingTime != null) { + return meetingTime; + } + if (meetingDate != null) { + return meetingDate.toLocalTime().toString().substring(0, 5); + } + return ""; + } } } \ No newline at end of file