From 279bfa075896a682db4b4999d430accfe67979e3 Mon Sep 17 00:00:00 2001 From: cyjadela Date: Mon, 27 Oct 2025 13:12:28 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9A=8C=EC=9D=98=EB=A1=9D=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20API=20(mock)=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../biz/domain/Minutes$MinutesBuilder.class | Bin 4287 -> 4287 bytes .../hgzero/meeting/biz/domain/Minutes.class | Bin 4055 -> 8221 bytes .../meeting/biz/service/MeetingService.class | Bin 3609 -> 9412 bytes .../meeting/biz/service/MinutesService.class | Bin 11920 -> 14585 bytes .../meeting/infra/cache/CacheConfig.class | Bin 3467 -> 1167 bytes .../meeting/infra/config/RedisConfig.class | Bin 0 -> 6750 bytes .../controller/DashboardController.class | Bin 3542 -> 8860 bytes .../infra/controller/MinutesController.class | Bin 25355 -> 26207 bytes .../event/publisher/EventHubPublisher.class | Bin 9245 -> 4917 bytes .../event/publisher/NoOpEventPublisher.class | Bin 0 -> 4438 bytes .../infra/gateway/MeetingGateway.class | Bin 4756 -> 3481 bytes .../infra/gateway/MinutesGateway.class | Bin 4316 -> 4791 bytes .../infra/gateway/MinutesSectionGateway.class | Bin 4903 -> 5406 bytes .../infra/gateway/ParticipantGateway.class | Bin 0 -> 3456 bytes .../MeetingEntity$MeetingEntityBuilder.class | Bin 3711 -> 4938 bytes .../infra/gateway/entity/MeetingEntity.class | Bin 6101 -> 5484 bytes ...tity$MeetingParticipantEntityBuilder.class | Bin 0 -> 3404 bytes .../entity/MeetingParticipantEntity.class | Bin 0 -> 3204 bytes .../gateway/entity/MeetingParticipantId.class | Bin 0 -> 1822 bytes .../infra/gateway/entity/MinutesEntity.class | Bin 7270 -> 7679 bytes .../repository/MeetingJpaRepository.class | Bin 1218 -> 1746 bytes .../MeetingParticipantJpaRepository.class | Bin 0 -> 1501 bytes meeting/logs/meeting-service.log | 506 ++++++++++++++++++ .../infra/controller/MinutesController.java | 295 +++++++++- .../dto/response/MinutesListResponse.java | 15 + 25 files changed, 788 insertions(+), 28 deletions(-) create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/config/RedisConfig.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/event/publisher/NoOpEventPublisher.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/ParticipantGateway.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity$MeetingParticipantEntityBuilder.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantId.class create mode 100644 meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingParticipantJpaRepository.class diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Minutes$MinutesBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/domain/Minutes$MinutesBuilder.class index 81e3791774fdc1b77ff454f8045b5699df6aab11..272abf11d1764010beaa6b0a0b284d5d6b45bb82 100644 GIT binary patch delta 141 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 A(f|Me literal 4055 zcmd5<>sAw26#fPR3Bw2yH8yIs7cVegrWbpKs(_-25n4d3Sgn)f5Dz9ZIu~5}yN}Z! z?OH}%?OJ_+zD(c1)xFP5ZbF)1`=iTc&TXIX?CZCOKVSd$2Y^{TNn$|5*^*ncLPwTd z&#@j4bsslSpXTyJ>IPR@EknrQ)V21sX1b$o)1?u3D?S_SC`d}Bpc96Ja-lDziD@l0V? zTCYU!OkW__VLu>HdNR2sJfB|Iu&+(woD+zO@c8|bC+t9!=bpCavt(*Ek`81|SOvFa zS1*&)Dy`_wSk?A}8*W){NKt0tjtxc{-H?u5mCqvF){2EwjWZ1gCfjt1ojA3oAu;ck zMGA*WrG?z$Y$3OPFcpo1o@qvbeDj3_fHEcK6Agza zr@C6jpr;IEkk&9>kd9akYenI$+C`3GTDf4&_9U<4%|!4(l83F`MTvtG`oiNB84e$n z$*rW{TE!mE_0c5}k_>$eV|kLx%&ObGD=} zDLk`|<5KoVC6_K#-CEIoXk8VK@Ho?_lPGAI`8TiXxQ;~wOE^b}}W?AIt`PAPh`!nN84*LI;!Z=>r4% zb~>GV%BK$v>}Sw1y4y@)W}J?V*+9o27B&2}1Ho*koNhZUH+Pfh@Ig1B?W{B%iFQ3` zPnlhy5_M{){u_(mI)}Qc`@i!PGM$|M^ihM?^%XbtN@77W^BZwVpJOJbWzHcQnWqNm z3#!PmPBx-~T@=(B1-A~LniG*LeS{bo;F71=09Uvgi3in4#YR%2YR+=h-_)GifEuZU z)JPShMyd@pQWdC?x}X}VanZP+unyuK`pwd6h42Pw+-If_)p5i;UB^-L72d1kkq5px;%3xk+lQ(fSsqXeSe0g^AO&A`qM*8IAs(#ku%_i)5ZgXA|b_=dfPj-|6s!?lh+#EMVi zq&$rrs7dt_koq0hZ@#)sis*bXm9jT*YX7xHY z&Fm=ieAb9*ez1)}CzMt{MXxmJDX+Q{(??$QCnlP_qAc!SdHx_&O(L(l(~#QZ{=}Up z&mVboi)Y-UQfkIsYDCSrPw8sLor-Ha&wpf5Pkc=Cs2lJL2E8x{kM;(LNCO(VFJ7nr MA)Ri~I>GC|0hIhKqyPW_ diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class b/meeting/bin/main/com/unicorn/hgzero/meeting/biz/service/MeetingService.class index 9b9a82455efd4fcfbe373ad0a6b43715668d93a0..af138b0ae880ad86849aa858933c88f66a736987 100644 GIT binary patch literal 9412 zcmdT~+jrDN82_dq+b%5#2!c0)ptgz|FNjL9TDApNw=L3b@s8PKx*f=6O|sSE{qm}> z{vAGfJ4YWq$5;OV-+lMh(tC*?HP%w3p67gfgPsPBCx;ixGmK)H%?ts>rSgh-B|*6U+&mGvuMrUVjgRn zbl$cdU-Ow`djW~*SWV};dV$*1MH3iEGG%c~U#6NtT>@w71vTe%{K!i%wu;3;6mhMZ`uAMf{FQUDG$Ih+&NVL8fK)hO4O|fm%(F;fwdsEo%FhI!%*# zn}J#9^MOJVwH?u@izx^M-PgvzWjbqXwjW6{HwZV#PEj%meD6}0J_8z=d{oe`Q|oRb zUlI6fx+t4DIqyU&5mp_`(rjaPCJ)_kEDe!`o1oN3MAWZKV*U(I6Kxk0JQ~=d?>g>v z)ps@9)AS%Os9KyN)JAt&GZA=a)iE$LKTcq8H}@~PuH%lwlVpd#X1mmL%q?mtm^9kV z3^R?=b{$MTmUl)ePc$~EVo`t7F%)VW4a`l`GYa#Rj&0BlW+UZ><0?Mx^0(VmNohnJ z4VBcSP}8l6Tw7kBuh$l?E-fxLYRea{Hfl?YiXK`(X;LNDCaMH=gsEH6lnq8rC9O!!(;H&B%Fq)3G6z{Z0675(J)=_1}KM|omt1Q ztz(EScdRCL8yd!BST-Pc>zd1gXEC|c-(*-HJe`+$3M^?o`Sg{IIk>*)v4X$=T?TP@QO)_Gkg)b1Yr?`b9)en{~tG$1`yT=|9#GAGUlWa4HnUpyR zygamVvdWItABWdV1b!{9{34Dun(Bu^?z?qj zHdsqosbYF-#dmE2<5=?>E4I141Dhv=z@hGdwe zC*;H`YuTFLaq$dZD?oC#XlM#4=kOf|QaoZ__d9s1-<6)l3!%|5X;_LASP-lPO#^Hr zBnp>VUQtLEX81}{y3S328AalwDcNGH%-cpJ{b`A=CACtoNUf0wM-gHl!)}dF6Lo1= zK?OaW)NFh~TptIG!1se)I=p@L!;qxE;8=@F-UKWB7F>LPk%Nwm&E)37I@CVQL=?Jn>|k>&N7+50Ed0sH-nhtL^-XRK>+zZ znGvalB4*Il4YKQ(0UxY3s>8-ByVO5#fUr0YaNBkQ9peAwQq%+*= zYP}_$8SfaYPRG^hc^35I4v5GX{e?XqO+f!7NbH=}&9AaIAQLtg@$z~LVEtn$wsC1}f5 zh4YpGZ&rIViLnGeikz9`F;ar9-X)&7O7I@uD+LulO-pctKuJVE2|mE}R5+C2qwZ9M z@(F>n1(lfjIu)__*~kc-2ej)F?>RNl4Lmpo_$?T2!=DmNz;2krpSxf$+>Z16@YcEu z$Nf0&hXZg&I39#U;dmz;4#y+7KUlvT?g__x;l6M@3Q9O0gZsnrIGhN_2jIbQdCQ_Ku1F97 zE<#O;@S+6aO9=vjIxOW%v@AjUPKtIZM%#^iRq*%a*Whw2V%LB&$ls)ptI$Bxuc30r zU_Eq;5uksULSMNV(0@pwUx8O+u3ziVb=T%Hh5RXnejVP3q2C-48Vw-}mbc()t~0#d z>kMPNrD&(2iD=365xM$Q?CN?i8isQ(Z?^#rJzyhF3@v=##9si0zh!i_YnZ-FI0B#J Z^I=S47C7(@c+i1&VH@6u58-3@^l#<%(OLii literal 3609 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 W@F(Pg9}8Fnv)XEpy!5ZS4EzFcKS&7x literal 3467 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 literal 9245 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 WX#bq#U*IKP!}hEYGKz7$L%|<_@6JI0 delta 437 zcmX9(NiRcD6#nje?R(sJTh+##s38rC1qoIbBBn&`?MyXR(bhcFJkLk${R0g#ErhMD z#6}n5hloQL_k6?o&N;dFzGSiM?dRzkKoc%ZXaWsqR|OQ8PAalF6K&`U3u26jeQ9Si=kYyQ=RncFjEv`COgQxwgQL zR(Q~c0#^RiENW28inm|_lMtNoU#JzkO+|F_Ua2*q-wWUEK$H+SGV$?i({41;C*Y1>--e+J-)M#103O)9m&oK&Opff E1<|}#mjD0& diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MinutesSectionGateway.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/MinutesSectionGateway.class index eba121c284d59920ec586a7503bffc4d16739312..6bafc6c71710c34149794742fa065c701e55f9f0 100644 GIT binary patch delta 893 zcmY+B$xl;J6vltAt*x{d1Oh5*1T`qs8lr)PnhOvpz!0NM=4yZWbJda%G zdB$0BsG?$6vGAWz*DhSRGBL*U3eotIch9-s`R@0fdv5pSYr*VKzu$cX=F;cGWl*Un zcq)5pzYjOc_1DbuN`=iv1J!CJ>aC_kI2x&HHpnX}tzK`on`O2cX)UWy#KMu**?vMq z6`N=?@J3?`?YN~2{iR+Xaf1b-TdIF%jP3LjCaGv=vq6T)R!5sQSfZK#pXR)1)V9os zh;C(@j}C*Je}+Rv#ddZ`Z;gZ82GdSj2JVv5RgOoeVwcl;;IGHLt$t!T>{0AxpMl2~ zXYtjiTzORuQsRK(AlcG=GUC)6mBWf7PN$AagB1(6gsoK8TN0^g}Q=HZZ zGrF?1qJ=gGJgYdzd0prKHX*Y@3kmo}kQgoc^3SbL4B8LRBPU#pc^) zJZ{B(^cocFepM{fe{V2e((x}hXIbt}L!KFrym&|O6-851tm|c>3nN9OpIA+3fNB8~ z1B`Y;iY*t(3Q4*%#qRDwaDbel+9iCU6#Hd&Xn+DIqz{Y`@Mt%~r@rMxjbjt)rOSor z*LF@zapt+$yBQOeRanlbFv^3aBPX4Kt`^5z7Qw&T8sd!wMQ{pp}&*S;bg6 z863O{(}nGP9bDid@~Bu`;<8*d$uO=+=H{x@19R~FqQXZkZ-MCdPVM`#7FWg$zO=^ SOJ0%UjUawO-tvwQ6#N07%-0$K delta 471 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 We$Em6!4fiIN7%p*bc4-!W&Uqtm`}I> literal 3711 zcmcImTT>iG6#ja-ENlirL}QHRVm7#JE@O-_8bS;qH*_HiNKE3b+3moD*_o}GUMzg^ zZ&>~XU$iQzq+*rNmgP^fEWh4fVV4RY+)sz7^s-JP+E*BVs5jk;3z{ECXQ=oT1y zAlIbpOTye*dZ5Z$pudSbT@e^AZLZJjh_{Uk9Gt5YwW_9rH81v-d^H&ap_bYUgV-GL z!|GDF>fTU+iYQctM|voeuLSm0R9ud{n%PS#F0ZIc-B*=K-h05_Wsu!cSeE`(9$p~D z^Zl`w5uwb!tO_c2=8&uFaehtub%N)bWURPL+$DY(Ez7{8v5YQGjSybhtI0r9&YV`& zn$IiDTJJ?K@bo2tuEN-&K=)KwQ8{$sfP57NsWz~M#M!Kd4_H> zyY-4k=!Me%?=2c(rI7T-*z>rm9|A`l^q|+w-gMA!XL$!X^a_McK~h}x+~j%7!9F-f zo-qdlc6P$S3vlQ?>v*$x+QFa|_H744c+v3QaWHIo?>czN&faq{VpQo_GRYt?S=giG z<2hWw#VqKji9LDW!2}qHgZYZOFYCU}Tjc~sC}JWT&8?SBkWLExnGzq#6Wei8oN2fI z_k~6|X_kxauG@K!Ny347Ez7GjvernhEUvayD+@2sr$alg)Eg6&DaXS2$)ok~%c)o(tm zM`d;0Yt*u~_Hfz+8Et(f40Ws{S({OMC9K3b%wZvmd4c?97<$24xT;)h3~RLOvaG{s z-B|N8fgf6J*4%9YZ_1$Jt2kc@!_|6id`IQl4lbf>f52`SH%7_a`)Q28}}4FGuHAiqXnZoun!gMaoK97+KiCojYG zZ1Kb+94`LMX$D)Nj0D`$gfcU0bH0pr2R+&`sC62v!|tHRItH~~=W7hdsl`@1wy8hb zF{lk2Hi_Lq3mt>nxD$L->?&!oV^ABo0w+^#dYL9Mu62y}PZhf#!QBzr*$4rLh$h=8E7uY1d#q+cBt3Hdd?MLCFayA5dijRQw`d~}V`3;d~c|iuZ k+Oq8vD;^ek{cYSKHOxJN56HW$BKPnmzQzH3(>QtIAC@E_YybcN diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingEntity.class index 31029652f0958b606b631c0108c51f2a6962548a..59497c3d1131ce2f990d584762c954d17b874099 100644 GIT binary patch literal 5484 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 diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity$MeetingParticipantEntityBuilder.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/entity/MeetingParticipantEntity$MeetingParticipantEntityBuilder.class new file mode 100644 index 0000000000000000000000000000000000000000..1bd18a1b574387279c82722812ab16a0c307101d GIT binary patch literal 3404 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 Om;=+9lfK(2eBfX6vr^0e diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingJpaRepository.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingJpaRepository.class index 42c7d1ad842902d65ac57a014a0a8fcdc91e0f9a..78e648dec9cf61a1a246107b2fc1aa1c72ed8180 100644 GIT binary patch delta 513 zcmYjO%TB^T6unbWLyU=uFT~f#hBh%aCT_q-Bv1u|fCY6)Djjtqozdx3gB!oW^hb2- z!Wfq>{R96)jZ=IsCik9uPtLvf%v0iJX!!Z#{s92;kRAXHK`DIIjJxc+Hl1wqfXM=9 zM;+RhlpXI75(OW@R``e}!$2Dext2oP;ahB0Gb=Yzzupaq=&m5>yKp)IL2%o!DpsM1 z3$?v!Q}+zKY1ek}x01yqm0j%NgOX)i*jwb{*kSaFh_Z{3y6CO>4-+-UiiX|f{giOI8>WhTF5wPa+Stjrc5 d$H2@W3{=X*Ai}^2rbQXVfHWHeBZD{t0{}|14`u)W diff --git a/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingParticipantJpaRepository.class b/meeting/bin/main/com/unicorn/hgzero/meeting/infra/gateway/repository/MeetingParticipantJpaRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..4189a60efde237d65d3c1f0169bc37ec247d3627 GIT binary patch literal 1501 zcmb_c&2G~`5S~p*LrWknP@v_f7ODglQdbDUfdEnvt_Vt0NT5jEw)P}!aCXglonnqW z76%@HSKwU`<2a;A>!JwdV6SFp_M5+N=I8J4KLDTxnyN`$3eB!>ag7-o(>0%0yL8T*=|2!EvuKNtO?lz7*v~7x5-OjFJ zD+At;k*zXVYRj$?Ha5s0oZ-on#>@plWu?t4hC5VLpOO1=7WcadO&av=V`4+l+k8;ACDc5iR^>EG^ulg9E#i?Gcps6FC%#nU`;8Vm4d49 zpfM{|n%bA0B<()~KJ%+LF`9&46bB-Ri5%_=x8c5Zo!!=6(>Y1-tfx-synpGoTqoQa z4N2X1o;r`m0=0NLCz=tWxkWRT-2KzToEWpuX^4D?kTQ9~$p(HQdPfsQCMNwQ*`1tf z=kVtPgXOl4jfcB3paN{2OnPbvchYfV@M{7p8|>=o$^2`m=g7M`%xv8s&g;G0Tq5cp zYMX?}kG5Qu))|8Z`iitqi?s4eaF(Pck_xa)^0{Mj8P1RO7f4@$6|!6<`wE>G>AXbx n%Mq->6%xuR{?+W}8kw)d2Hh^eb@~_J#>mmlA;2P;-2(Un=1lC} literal 0 HcmV?d00001 diff --git a/meeting/logs/meeting-service.log b/meeting/logs/meeting-service.log index cbe34a1..25fd166 100644 --- a/meeting/logs/meeting-service.log +++ b/meeting/logs/meeting-service.log @@ -1423,3 +1423,509 @@ Caused by: java.lang.NullPointerException: Cannot invoke "java.util.List.add(Obj at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 09:52:22 [parallel-7] INFO c.a.c.a.i.AmqpChannelProcessor - {"az.sdk.message":"Error in AMQP channel processor.","connectionId":"MF_c2537e_1761523655847","entityPath":"$cbs","subscriberId":"un_e23365_1761526338131"} +2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 47761 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:05:31 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:05:31 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:05:31 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 84 ms. Found 8 JPA repository interfaces. +2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [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-27 13:05:32 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14 ms. Found 0 Redis repository interfaces. +2025-10-27 13:05:32 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:05:32 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:05:32 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:05:32 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1256 ms +2025-10-27 13:05:32 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:05:32 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:05:33 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@b340615 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@3c6b300a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@4247093b +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@7074da1d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@5bdb6ea8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@3e55eeb9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@44a13699 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@1253b822 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@127d2aee +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@3cc2e3e +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@4e14d520 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@4189e668 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@3a589eed +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@5807ea46 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@305289b3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@3ee68377 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@4037cdb0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@27055a2a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@33e4068 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@9499643 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@79e16dd9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@79e16dd9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@22ee7fdc +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@1a88d194 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@fe13916 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@5ea0a7a9 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@278c998 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@25e353dc +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@234ce7ff +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@780a91d0 +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@3cfab340 +2025-10-27 13:05:33 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@8b1bfdf +2025-10-27 13:05:33 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:05:33 [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-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@6d8096ee) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@35d8ba22) +2025-10-27 13:05:33 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@3fc051ce) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@3c5bb37d) +2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:05:33 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@22c4354d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@22c4354d +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@79e16dd9` +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:05:33 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@430db481] +2025-10-27 13:05:33 [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-27 13:05:33 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@43120a77] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@3d3e9163] +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:05:34 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:05:34 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration +2025-10-27 13:05:34 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:05:34 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:05:34 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:05:34 [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-27 13:05:35 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:05:35 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_680666_1761537935139"} +2025-10-27 13:05:35 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:05:35 [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-27 13:05:35 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: afdf51ca-5931-479f-826b-4f45c3af946f + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:05:35 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:05:35 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:05:35 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:05:35 [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-27 13:05:35 [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-27 13:05:36 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 13:05:36 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.959 seconds (process running for 5.176) +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Upstream connection publisher was completed. Terminating processor.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.c.a.i.ReactorConnection - {"az.sdk.message":"Disposing of ReactorConnection.","connectionId":"MF_680666_1761537935139","isTransient":false,"isInitiatedByClient":true,"shutdownMessage":"Disposed by client."} +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Channel is disposed.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Closing JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:05:36 [SpringApplicationShutdownHook] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryClosed from [org.hibernate.internal.SessionFactoryImpl@3d3e9163] for TypeConfiguration +2025-10-27 13:05:36 [SpringApplicationShutdownHook] DEBUG o.h.type.spi.TypeConfiguration$Scope - Un-scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration$Scope@1dec0e39] from SessionFactory [org.hibernate.internal.SessionFactoryImpl@3d3e9163] +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown initiated... +2025-10-27 13:05:36 [SpringApplicationShutdownHook] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Shutdown completed. +2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - Starting MeetingApplication using Java 21.0.8 with PID 48882 (/Users/adela/home/workspace/recent/HGZero/meeting/build/classes/java/main started by adela in /Users/adela/home/workspace/recent/HGZero/meeting) +2025-10-27 13:10:51 [main] DEBUG c.u.h.meeting.MeetingApplication - Running with Spring Boot v3.3.5, Spring v6.1.14 +2025-10-27 13:10:51 [main] INFO c.u.h.meeting.MeetingApplication - The following 1 profile is active: "dev" +2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data JPA repositories in DEFAULT mode. +2025-10-27 13:10:51 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66 ms. Found 8 JPA repository interfaces. +2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode +2025-10-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Bootstrapping Spring Data Redis repositories in DEFAULT mode. +2025-10-27 13:10: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-27 13:10: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-27 13:10: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-27 13:10: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-27 13:10: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-27 13:10: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-27 13:10: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-27 13:10: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-27 13:10:52 [main] INFO o.s.d.r.c.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13 ms. Found 0 Redis repository interfaces. +2025-10-27 13:10:52 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat initialized with port 8082 (http) +2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardService - Starting service [Tomcat] +2025-10-27 13:10:52 [main] INFO o.a.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.31] +2025-10-27 13:10:52 [main] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext +2025-10-27 13:10:52 [main] INFO o.s.b.w.s.c.ServletWebServerApplicationContext - Root WebApplicationContext: initialization completed in 1106 ms +2025-10-27 13:10:52 [main] INFO o.h.jpa.internal.util.LogHelper - HHH000204: Processing PersistenceUnitInfo [name: default] +2025-10-27 13:10:52 [main] INFO org.hibernate.Version - HHH000412: Hibernate ORM core version 6.5.3.Final +2025-10-27 13:10:52 [main] INFO o.h.c.i.RegionFactoryInitiator - HHH000026: Second-level cache disabled +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration boolean -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Boolean -> org.hibernate.type.BasicTypeReference@776d8097 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration numeric_boolean -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.NumericBooleanConverter -> org.hibernate.type.BasicTypeReference@7a34505a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration true_false -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.TrueFalseConverter -> org.hibernate.type.BasicTypeReference@b787274 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration yes_no -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.YesNoConverter -> org.hibernate.type.BasicTypeReference@4ec616d6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Byte -> org.hibernate.type.BasicTypeReference@55b45ea1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration byte[] -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [B -> org.hibernate.type.BasicTypeReference@d5a72cd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration binary_wrapper -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-binary -> org.hibernate.type.BasicTypeReference@45f95ac0 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration image -> org.hibernate.type.BasicTypeReference@3b77940f +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration blob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Blob -> org.hibernate.type.BasicTypeReference@4c418496 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob -> org.hibernate.type.BasicTypeReference@12d35bc9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_blob_wrapper -> org.hibernate.type.BasicTypeReference@1df32c09 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration short -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Short -> org.hibernate.type.BasicTypeReference@1aa31454 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration integer -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration int -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Integer -> org.hibernate.type.BasicTypeReference@5a8656a2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration long -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Long -> org.hibernate.type.BasicTypeReference@52035328 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration float -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Float -> org.hibernate.type.BasicTypeReference@5614ae05 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration double -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Double -> org.hibernate.type.BasicTypeReference@54970127 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_integer -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigInteger -> org.hibernate.type.BasicTypeReference@3c4c7e51 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration big_decimal -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.math.BigDecimal -> org.hibernate.type.BasicTypeReference@749ee0e3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Character -> org.hibernate.type.BasicTypeReference@7891cf3 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration character_nchar -> org.hibernate.type.BasicTypeReference@6bfbab1c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration string -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.String -> org.hibernate.type.BasicTypeReference@349aeec4 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nstring -> org.hibernate.type.BasicTypeReference@3700994c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration characters -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration char[] -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration [C -> org.hibernate.type.BasicTypeReference@78a165db +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration wrapper-characters -> org.hibernate.type.BasicTypeReference@4eb48298 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration text -> org.hibernate.type.BasicTypeReference@2d3bb944 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ntext -> org.hibernate.type.BasicTypeReference@1e429f56 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration clob -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Clob -> org.hibernate.type.BasicTypeReference@6dbeaef8 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration nclob -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.NClob -> org.hibernate.type.BasicTypeReference@7744195 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob -> org.hibernate.type.BasicTypeReference@77f529a6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_char_array -> org.hibernate.type.BasicTypeReference@7d47b021 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_clob_character_array -> org.hibernate.type.BasicTypeReference@6516181f +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob -> org.hibernate.type.BasicTypeReference@40cb95c1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_character_array -> org.hibernate.type.BasicTypeReference@1ead3c67 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration materialized_nclob_char_array -> org.hibernate.type.BasicTypeReference@5e2b512b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> org.hibernate.type.BasicTypeReference@ba87c11 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDateTime -> org.hibernate.type.BasicTypeReference@17d19538 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalDate -> org.hibernate.type.BasicTypeReference@6068cda1 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.LocalTime -> org.hibernate.type.BasicTypeReference@644e6a8e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> org.hibernate.type.BasicTypeReference@2ccecae2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@37ade216 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@118e2487 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> org.hibernate.type.BasicTypeReference@6032622 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeUtc -> org.hibernate.type.BasicTypeReference@5cc075da +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithTimezone -> org.hibernate.type.BasicTypeReference@4258106 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@64ef2719 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> org.hibernate.type.BasicTypeReference@7b423f90 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithTimezone -> org.hibernate.type.BasicTypeReference@24f3fb87 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTimeWithoutTimezone -> org.hibernate.type.BasicTypeReference@c7673ae +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration date -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Date -> org.hibernate.type.BasicTypeReference@113c4ad6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration time -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Time -> org.hibernate.type.BasicTypeReference@7be859de +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.sql.Timestamp -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Date -> org.hibernate.type.BasicTypeReference@40fcaae7 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Calendar -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.GregorianCalendar -> org.hibernate.type.BasicTypeReference@7fa85a55 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_date -> org.hibernate.type.BasicTypeReference@cb1c58c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration calendar_time -> org.hibernate.type.BasicTypeReference@352e4b6d +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration instant -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Instant -> org.hibernate.type.BasicTypeReference@10a064bd +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.UUID -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration pg-uuid -> org.hibernate.type.BasicTypeReference@2de7fe0e +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-binary -> org.hibernate.type.BasicTypeReference@2ff8d39b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration uuid-char -> org.hibernate.type.BasicTypeReference@684a802a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration class -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Class -> org.hibernate.type.BasicTypeReference@7b5c9412 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration currency -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Currency -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Currency -> org.hibernate.type.BasicTypeReference@69d902f9 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration locale -> org.hibernate.type.BasicTypeReference@547052 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.Locale -> org.hibernate.type.BasicTypeReference@547052 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.io.Serializable -> org.hibernate.type.BasicTypeReference@3ca3eba2 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration timezone -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.util.TimeZone -> org.hibernate.type.BasicTypeReference@23c00420 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZoneOffset -> org.hibernate.type.BasicTypeReference@22f046b +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration url -> org.hibernate.type.BasicTypeReference@215a329c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.net.URL -> org.hibernate.type.BasicTypeReference@215a329c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration vector -> org.hibernate.type.BasicTypeReference@20723ee +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration row_version -> org.hibernate.type.BasicTypeReference@21c5c68a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration object -> org.hibernate.type.JavaObjectType@3cfab340 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@3cfab340 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration null -> org.hibernate.type.NullType@1736273c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_date -> org.hibernate.type.BasicTypeReference@ba86c53 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_time -> org.hibernate.type.BasicTypeReference@3df6494f +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_timestamp -> org.hibernate.type.BasicTypeReference@1b5f960a +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar -> org.hibernate.type.BasicTypeReference@53ddabc6 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_date -> org.hibernate.type.BasicTypeReference@39ac8c0c +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_calendar_time -> org.hibernate.type.BasicTypeReference@361f1647 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_binary -> org.hibernate.type.BasicTypeReference@51172948 +2025-10-27 13:10:52 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration imm_serializable -> org.hibernate.type.BasicTypeReference@6f2a3b37 +2025-10-27 13:10:52 [main] INFO o.s.o.j.p.SpringPersistenceUnitInfo - No LoadTimeWeaver setup: ignoring JPA class transformer +2025-10-27 13:10:52 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting... +2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@2f3c7b24 +2025-10-27 13:10:53 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed. +2025-10-27 13:10: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-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(2003, org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@69926b6e) replaced previous registration(org.hibernate.type.descriptor.sql.internal.ArrayDdlTypeImpl@7ea8224b) +2025-10-27 13:10:53 [main] DEBUG o.h.t.d.sql.spi.DdlTypeRegistry - addDescriptor(6, org.hibernate.type.descriptor.sql.internal.CapacityDependentDdlType@5a010eec) replaced previous registration(org.hibernate.type.descriptor.sql.internal.DdlTypeImpl@623ded82) +2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2004, BlobTypeDescriptor(BLOB_BINDING)) replaced previous registration(BlobTypeDescriptor(DEFAULT)) +2025-10-27 13:10:53 [main] DEBUG o.h.t.d.jdbc.spi.JdbcTypeRegistry - addDescriptor(2005, ClobTypeDescriptor(CLOB_BINDING)) replaced previous registration(ClobTypeDescriptor(DEFAULT)) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration JAVA_OBJECT -> org.hibernate.type.JavaObjectType@4b552b13 +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.lang.Object -> org.hibernate.type.JavaObjectType@4b552b13 +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Type registration key [java.lang.Object] overrode previous entry : `org.hibernate.type.JavaObjectType@3cfab340` +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.DurationType -> basicType@1(java.time.Duration,3015) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.Duration -> basicType@1(java.time.Duration,3015) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetDateTimeType -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetDateTime -> basicType@2(java.time.OffsetDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.ZonedDateTimeType -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.ZonedDateTime -> basicType@3(java.time.ZonedDateTime,3003) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration org.hibernate.type.OffsetTimeType -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:10:53 [main] DEBUG o.hibernate.type.BasicTypeRegistry - Adding type registration java.time.OffsetTime -> basicType@4(java.time.OffsetTime,3007) +2025-10-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to MetadataBuildingContext [org.hibernate.boot.internal.MetadataBuildingContextRootImpl@c79915a] +2025-10-27 13:10:53 [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-27 13:10:53 [main] DEBUG o.h.type.spi.TypeConfiguration$Scope - Scoping TypeConfiguration [org.hibernate.type.spi.TypeConfiguration@65cc3902] to SessionFactoryImplementor [org.hibernate.internal.SessionFactoryImpl@259647f2] +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists meeting_analysis + alter column agenda_analyses set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists meetings + alter column description set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists minutes_sections + alter column content set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column description set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists templates + alter column sections set data type TEXT +2025-10-27 13:10:53 [main] DEBUG org.hibernate.SQL - + alter table if exists todos + alter column description set data type TEXT +2025-10-27 13:10:54 [main] TRACE o.h.type.spi.TypeConfiguration$Scope - Handling #sessionFactoryCreated from [org.hibernate.internal.SessionFactoryImpl@259647f2] for TypeConfiguration +2025-10-27 13:10:54 [main] INFO o.s.o.j.LocalContainerEntityManagerFactoryBean - Initialized JPA EntityManagerFactory for persistence unit 'default' +2025-10-27 13:10:54 [main] INFO o.s.d.j.r.query.QueryEnhancerFactory - Hibernate is in classpath; If applicable, HQL parser will be used. +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - Redis Lettuce Client 설정 완료 - Standalone 모드 (Master-Replica 자동 탐색 비활성화) +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - LettuceConnectionFactory 설정 완료 - Host: 20.249.177.114:6379, Database: 1 +2025-10-27 13:10:54 [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-27 13:10:54 [main] INFO c.u.h.m.infra.config.RedisConfig - RedisTemplate 설정 완료 +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.cache.CacheConfig - ObjectMapper 설정 완료 +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Initializing Azure EventHub configuration with hub name: hgzero-eventhub-name +2025-10-27 13:10:54 [main] INFO c.u.h.m.infra.config.EventHubConfig - Creating EventHub producer for hub: hgzero-eventhub-name +2025-10-27 13:10:54 [main] INFO c.a.m.e.EventHubClientBuilder - {"az.sdk.message":"Emitting a single connection.","connectionId":"MF_5ae9ef_1761538254872"} +2025-10-27 13:10:54 [main] INFO c.a.m.e.i.EventHubConnectionProcessor - {"az.sdk.message":"Setting next AMQP channel.","entityPath":"hgzero-eventhub-name"} +2025-10-27 13:10: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-27 13:10:55 [main] WARN o.s.b.a.s.s.UserDetailsServiceAutoConfiguration - + +Using generated security password: 1f1f726a-7d80-4480-8e52-83418bddf566 + +This generated password is for development use only. Your security configuration must be updated before running your application in production. + +2025-10-27 13:10:55 [main] INFO o.s.s.c.a.a.c.InitializeUserDetailsBeanManagerConfigurer$InitializeUserDetailsManagerConfigurer - Global AuthenticationManager configured with UserDetailsService bean with name inMemoryUserDetailsManager +2025-10-27 13:10:55 [main] INFO c.u.h.m.infra.config.WebSocketConfig - WebSocket 핸들러 등록 완료 - endpoint: /ws/minutes/{minutesId} +2025-10-27 13:10:55 [main] INFO o.s.b.a.e.web.EndpointLinksResolver - Exposing 3 endpoints beneath base path '/actuator' +2025-10-27 13:10: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-27 13:10:55 [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-27 13:10:55 [main] INFO o.s.b.w.e.tomcat.TomcatWebServer - Tomcat started on port 8082 (http) with context path '/' +2025-10-27 13:10:55 [main] INFO c.u.h.meeting.MeetingApplication - Started MeetingApplication in 4.753 seconds (process running for 4.969) +2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.a.c.c.C.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet' +2025-10-27 13:10:56 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet' +2025-10-27 13:10:57 [http-nio-8082-exec-1] INFO o.s.web.servlet.DispatcherServlet - Completed initialization in 2 ms +2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.html +2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-1] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.html +2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/index.css +2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-3] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/index.css +2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-4] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-standalone-preset.js +2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui.css +2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-2] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui.css +2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-initializer.js +2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-5] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-initializer.js +2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/swagger-ui-bundle.js +2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Securing GET /swagger-ui/favicon-32x32.png +2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs/swagger-config +2025-10-27 13:10:57 [http-nio-8082-exec-8] DEBUG o.s.security.web.FilterChainProxy - Secured GET /swagger-ui/favicon-32x32.png +2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-7] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs/swagger-config +2025-10-27 13:10:57 [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@883dec9]] +2025-10-27 13:10:57 [http-nio-8082-exec-7] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.ui.SwaggerConfigResource.openapiJson 완료 - 실행시간: 0ms +2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Securing GET /v3/api-docs +2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Set SecurityContextHolder to anonymous SecurityContext +2025-10-27 13:10:57 [http-nio-8082-exec-9] DEBUG o.s.security.web.FilterChainProxy - Secured GET /v3/api-docs +2025-10-27 13:10:57 [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@7ef4c28b], /v3/api-docs, ko_KR] +2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO o.s.api.AbstractOpenApiResource - Init duration for springdoc-openapi is: 409 ms +2025-10-27 13:10:57 [http-nio-8082-exec-9] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] org.springdoc.webmvc.api.OpenApiWebMvcResource.openapiJson 완료 - 실행시간: 420ms +2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Securing GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG c.u.h.m.i.c.j.JwtAuthenticationFilter - 헤더 기반 인증된 사용자: 1 (user-002) +2025-10-27 13:11:06 [http-nio-8082-exec-6] DEBUG o.s.security.web.FilterChainProxy - Secured GET /api/minutes?page=0&size=10&sortBy=modified&sortDir=desc&status=all +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 호출 - 파라미터: [user-002, 1, 0, 10, modified, desc, all, null, null] +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 요청 - userId: user-002, page: 0, size: 10, status: all, participationType: null, search: null +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.h.m.i.c.MinutesController - 회의록 목록 조회 성공 - userId: user-002, total: 7, filtered: 7, paged: 7 +2025-10-27 13:11:06 [http-nio-8082-exec-6] INFO c.u.hgzero.common.aop.LoggingAspect - [Controller] com.unicorn.hgzero.meeting.infra.controller.MinutesController.getMinutesList 완료 - 실행시간: 7ms 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 150a7cc..eaac6ba 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 @@ -58,44 +58,51 @@ public class MinutesController { @RequestHeader("X-User-Id") String userId, @RequestHeader("X-User-Name") String userName, @Parameter(description = "페이지 번호 (0부터 시작)") @RequestParam(defaultValue = "0") int page, - @Parameter(description = "페이지 크기") @RequestParam(defaultValue = "20") int size, - @Parameter(description = "정렬 기준 (createdAt, lastModifiedAt)") @RequestParam(defaultValue = "lastModifiedAt") String sortBy, - @Parameter(description = "정렬 방향 (asc, desc)") @RequestParam(defaultValue = "desc") String sortDir) { + @Parameter(description = "페이지 크기") @RequestParam(defaultValue = "10") int size, + @Parameter(description = "정렬 기준 (modified, meeting, title)") @RequestParam(defaultValue = "modified") String sortBy, + @Parameter(description = "정렬 방향 (asc, desc)") @RequestParam(defaultValue = "desc") String sortDir, + @Parameter(description = "상태 필터 (all, draft, complete)") @RequestParam(defaultValue = "all") String status, + @Parameter(description = "참여 유형 (attended, created)") @RequestParam(required = false) String participationType, + @Parameter(description = "검색 키워드") @RequestParam(required = false) String search) { - log.info("회의록 목록 조회 요청 - userId: {}, page: {}, size: {}", userId, page, size); + log.info("회의록 목록 조회 요청 - userId: {}, page: {}, size: {}, status: {}, participationType: {}, search: {}", + userId, page, size, status, participationType, search); try { - // 캐시 확인 - String cacheKey = String.format("minutes:list:%s:%d:%d:%s:%s", userId, page, size, sortBy, sortDir); - MinutesListResponse cachedResponse = cacheService.getCachedMinutesList(cacheKey); - if (cachedResponse != null) { - log.debug("캐시된 회의록 목록 반환 - userId: {}", userId); - return ResponseEntity.ok(ApiResponse.success(cachedResponse)); - } - - // 정렬 설정 - Sort.Direction direction = sortDir.equalsIgnoreCase("desc") ? Sort.Direction.DESC : Sort.Direction.ASC; - Pageable pageable = PageRequest.of(page, size, Sort.by(direction, sortBy)); - - // 회의록 목록 조회 - var minutesPage = minutesService.getMinutesListByUserId(userId, pageable); + // Mock 데이터 생성 (프론트엔드 테스트용) + List mockMinutes = createMockMinutesList(userId); - // 응답 DTO 생성 - List minutesItems = minutesPage.getContent().stream() - .map(this::convertToMinutesItem) + // 필터링 적용 + List filteredMinutes = mockMinutes.stream() + .filter(item -> filterByStatus(item, status)) + .filter(item -> filterByParticipationType(item, participationType, userId)) + .filter(item -> filterBySearch(item, search)) .collect(Collectors.toList()); + + // 정렬 적용 + applySorting(filteredMinutes, sortBy, sortDir); + + // 페이징 적용 + int startIndex = page * size; + int endIndex = Math.min(startIndex + size, filteredMinutes.size()); + List pagedMinutes = + startIndex < filteredMinutes.size() ? + filteredMinutes.subList(startIndex, endIndex) : + List.of(); + + // 통계 계산 + MinutesListResponse.Statistics stats = calculateStatistics(mockMinutes, participationType, userId); MinutesListResponse response = MinutesListResponse.builder() - .minutesList(minutesItems) - .totalCount(minutesPage.getTotalElements()) + .minutesList(pagedMinutes) + .totalCount(filteredMinutes.size()) .currentPage(page) - .totalPages(minutesPage.getTotalPages()) + .totalPages((int) Math.ceil((double) filteredMinutes.size() / size)) + .statistics(stats) .build(); - // 캐시 저장 - cacheService.cacheMinutesList(cacheKey, response); - - log.info("회의록 목록 조회 성공 - userId: {}, count: {}", userId, minutesItems.size()); + log.info("회의록 목록 조회 성공 - userId: {}, total: {}, filtered: {}, paged: {}", + userId, mockMinutes.size(), filteredMinutes.size(), pagedMinutes.size()); return ResponseEntity.ok(ApiResponse.success(response)); } catch (Exception e) { @@ -345,6 +352,238 @@ public class MinutesController { .build(); } + /** + * Mock 데이터 생성 (프론트엔드 테스트용) + */ + private List createMockMinutesList(String userId) { + List mockData = List.of( + // 사용자가 생성한 회의록들 + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-001") + .title("2024년 1분기 성과리뷰 회의록") + .meetingTitle("2024년 1분기 성과리뷰") + .status("FINALIZED") + .version(3) + .createdAt(LocalDateTime.of(2024, 3, 15, 14, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 15, 16, 30)) + .meetingDate(LocalDateTime.of(2024, 3, 15, 14, 0)) + .createdBy(userId) + .lastModifiedBy(userId) + .participantCount(8) + .todoCount(5) + .completedTodoCount(5) + .completionRate(100) + .isCreatedByUser(true) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-002") + .title("신규 프로젝트 킥오프 회의록") + .meetingTitle("신규 프로젝트 킥오프") + .status("DRAFT") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 20, 10, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 20, 11, 45)) + .meetingDate(LocalDateTime.of(2024, 3, 20, 10, 0)) + .createdBy(userId) + .lastModifiedBy("user-002") + .participantCount(6) + .todoCount(8) + .completedTodoCount(3) + .completionRate(75) + .isCreatedByUser(true) + .build(), + + // 사용자가 참석한 회의록들 + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-003") + .title("마케팅 전략 회의록") + .meetingTitle("마케팅 전략 논의") + .status("FINALIZED") + .version(2) + .createdAt(LocalDateTime.of(2024, 3, 18, 15, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 18, 17, 0)) + .meetingDate(LocalDateTime.of(2024, 3, 18, 15, 0)) + .createdBy("user-003") + .lastModifiedBy("user-003") + .participantCount(5) + .todoCount(4) + .completedTodoCount(4) + .completionRate(100) + .isCreatedByUser(false) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-004") + .title("기술 아키텍처 리뷰 회의록") + .meetingTitle("기술 아키텍처 리뷰") + .status("DRAFT") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 22, 9, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 22, 10, 30)) + .meetingDate(LocalDateTime.of(2024, 3, 22, 9, 0)) + .createdBy("user-004") + .lastModifiedBy("user-004") + .participantCount(7) + .todoCount(6) + .completedTodoCount(2) + .completionRate(60) + .isCreatedByUser(false) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-005") + .title("주간 스프린트 회고 회의록") + .meetingTitle("주간 스프린트 회고") + .status("FINALIZED") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 25, 16, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 25, 17, 0)) + .meetingDate(LocalDateTime.of(2024, 3, 25, 16, 0)) + .createdBy("user-005") + .lastModifiedBy("user-005") + .participantCount(4) + .todoCount(3) + .completedTodoCount(3) + .completionRate(100) + .isCreatedByUser(false) + .build(), + + // 추가 더미 데이터들 + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-006") + .title("고객 피드백 분석 회의록") + .meetingTitle("고객 피드백 분석") + .status("DRAFT") + .version(2) + .createdAt(LocalDateTime.of(2024, 3, 28, 14, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 28, 15, 20)) + .meetingDate(LocalDateTime.of(2024, 3, 28, 14, 0)) + .createdBy(userId) + .lastModifiedBy(userId) + .participantCount(5) + .todoCount(7) + .completedTodoCount(4) + .completionRate(85) + .isCreatedByUser(true) + .build(), + + MinutesListResponse.MinutesItem.builder() + .minutesId("minutes-007") + .title("보안 정책 수립 회의록") + .meetingTitle("보안 정책 수립") + .status("FINALIZED") + .version(1) + .createdAt(LocalDateTime.of(2024, 3, 12, 10, 0)) + .lastModifiedAt(LocalDateTime.of(2024, 3, 12, 12, 0)) + .meetingDate(LocalDateTime.of(2024, 3, 12, 10, 0)) + .createdBy("user-006") + .lastModifiedBy("user-006") + .participantCount(6) + .todoCount(4) + .completedTodoCount(4) + .completionRate(100) + .isCreatedByUser(false) + .build() + ); + + return mockData; + } + + /** + * 상태별 필터링 + */ + private boolean filterByStatus(MinutesListResponse.MinutesItem item, String status) { + if ("all".equals(status)) { + return true; + } + if ("draft".equals(status)) { + return "DRAFT".equals(item.getStatus()); + } + if ("complete".equals(status)) { + return "FINALIZED".equals(item.getStatus()); + } + return true; + } + + /** + * 참여 유형별 필터링 + */ + private boolean filterByParticipationType(MinutesListResponse.MinutesItem item, String participationType, String userId) { + if (participationType == null || participationType.isEmpty()) { + return true; + } + if ("created".equals(participationType)) { + return item.isCreatedByUser(); + } + if ("attended".equals(participationType)) { + return !item.isCreatedByUser(); + } + return true; + } + + /** + * 검색어 필터링 + */ + private boolean filterBySearch(MinutesListResponse.MinutesItem item, String search) { + if (search == null || search.trim().isEmpty()) { + return true; + } + String searchLower = search.toLowerCase(); + return item.getTitle().toLowerCase().contains(searchLower) || + item.getMeetingTitle().toLowerCase().contains(searchLower); + } + + /** + * 정렬 적용 + */ + private void applySorting(List items, String sortBy, String sortDir) { + boolean ascending = "asc".equalsIgnoreCase(sortDir); + + switch (sortBy) { + case "title": + items.sort((a, b) -> ascending ? + a.getTitle().compareTo(b.getTitle()) : + b.getTitle().compareTo(a.getTitle())); + break; + case "meeting": + items.sort((a, b) -> ascending ? + a.getMeetingDate().compareTo(b.getMeetingDate()) : + b.getMeetingDate().compareTo(a.getMeetingDate())); + break; + case "modified": + default: + 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, userId)) + .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(); + } + private MinutesDetailResponse convertToMinutesDetailResponse(MinutesDTO minutesDTO) { return MinutesDetailResponse.builder() .minutesId(minutesDTO.getMinutesId()) 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 aa0e1a2..f88d503 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 @@ -21,6 +21,17 @@ public class MinutesListResponse { private long totalCount; private int currentPage; private int totalPages; + private Statistics statistics; // 상태별 통계 + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class Statistics { + private long totalCount; + private long draftCount; + private long completeCount; + } @Getter @Builder @@ -34,9 +45,13 @@ public class MinutesListResponse { private int version; private LocalDateTime createdAt; private LocalDateTime lastModifiedAt; + private LocalDateTime meetingDate; // 회의 일시 private String createdBy; private String lastModifiedBy; + private int participantCount; // 참석자 수 private int todoCount; private int completedTodoCount; + private int completionRate; // 검증완료율 + private boolean isCreatedByUser; // 사용자가 생성한 회의록 여부 } } \ No newline at end of file