묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Slack 클론 코딩[실시간 채팅 with React]
백엔드 socket.io 버전 업그레이드
안녕하세요 프론트 socket.io를 v4 공지사항 올려주신거 보고 최신버전으로 적용해봤는데 백엔드에 설치된 socket.io는 2.0~ 버전으로 설치되어있더라구요/ 그래서 그런지 socket 연결에 실패하네요.. 백엔드쪽 socket 최신버전으로 재설치 해도 되나요? 업그레이드 시 기존 코드랑 충돌이 생기진 않을까요?
-
미해결배달앱 클론코딩 [with React Native]
iOS에서 react-native-vector-icons 설정과정 오류/누락 부분
선생님 강의대로 iOS에 Fonts 그룹을 만들고 node_modules에서 불러오면 아래와 같은 오류를 만나게 됩니다. 폰트를 찾을 수 없다는 것인데 info.plist에 아래 내용을 추가하면 해결됩니다. <key>UIAppFonts</key> <array> <string>AntDesign.ttf</string> <string>Entypo.ttf</string> <string>EvilIcons.ttf</string> <string>Feather.ttf</string> <string>FontAwesome.ttf</string> <string>FontAwesome5_Brands.ttf</string> <string>FontAwesome5_Regular.ttf</string> <string>FontAwesome5_Solid.ttf</string> <string>Fontisto.ttf</string> <string>Foundation.ttf</string> <string>Ionicons.ttf</string> <string>MaterialIcons.ttf</string> <string>MaterialCommunityIcons.ttf</string> <string>SimpleLineIcons.ttf</string> <string>Octicons.ttf</string> <string>Zocial.ttf</string> </array> 아울러, pod install 과정에서 node_modules의 폰트를 불러오는 것 같습니다.(확인은 안 했습니다) 그 결과 Fonts폴더를 만들고 수동으로 폰트를 복사하지 않아도 위와 같은 오류 메시지가 없어짐은 물론, 벡터 아이콘도 정상 출력됩니다.
-
미해결1. 웹개발 기초 [HTML, CSS]
html 구조 설계 진행 방식
border를 이용해서 테두리를 그려가면서 구조 틀을 설계를 진행해주시는데 보통 개발 할 때도 이런 방식으로 진행을 하게되나요? 아니면 이해를 돕기 위해 하는 방식인지 궁금합니다!
-
미해결Svelte.js SPA 영화 검색 프로젝트
scss는 prependdata로 미리 불러와야되나요?
혹시 왜그래야되는지 알 수 있을까요? 제가 또 궁금한건 설정파일에서 prependdata로 꼭 불러와야되나요? 그냥 index.html 로딩할 때 scss파일을 임포트하는형식은 왜 안될까요 궁금하네요 ㅜ
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
nodebird ppt 파일을 혹시 어디서 받아 볼 수 있을까요?
안녕하세요 제가 강의를 중간에 멈추고 다시 중반부 부터 강의를 듣고 있습니다. nodebird 강의를 듣고 있는데 혹시 강의중에 제공되는 ppt 파일을 어디서 다운 받을 수 있을까요?
-
미해결실전! 스프링 데이터 JPA
벌크연산 실행시 영상과 같은 원하는 값이 나오지 않습니다...
12:19초 부분 영상에서 MemberRepositoryTest를 실행시 영상에서는member5 = Member(id=5, username=member5, age=41)이라고 build창에서 나오지만 저는 아예 나오지 않아서 질문드립니다.. build 내용은 에러없이 이렇게 나옵니다. "/Applications/IntelliJ IDEA CE.app/Contents/jbr/Contents/Home/bin/java" -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=62958:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/milaju/.m2/repository/org/junit/platform/junit-platform-launcher/1.8.2/junit-platform-launcher-1.8.2.jar:/Users/milaju/.m2/repository/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar:/Users/milaju/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/Users/milaju/.m2/repository/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar:/Users/milaju/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/test/classes:/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/production/classes:/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/production/resources:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-jpa/2.6.6/30942753cd29132913a5b642dc5b045c1cb18fd9/spring-boot-starter-data-jpa-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/2.6.6/7aa73898044e9fb7dc71dbf4d4e0f2fbcc7ce25f/spring-boot-starter-web-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/p6spy-spring-boot-starter/1.5.7/1c1cc817d2ee7cfe8a511bb1b429254d05f7ad03/p6spy-spring-boot-starter-1.5.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-test/2.6.6/b6b577cad64544e47dc9f523d7091c2cbb85bd52/spring-boot-starter-test-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-aop/2.6.6/d08c239992526803aa4f7fc4e74f243ccc337ebb/spring-boot-starter-aop-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/2.6.6/c0ee383ed4482fddc74ad645c0d77c98ec767140/spring-boot-starter-jdbc-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.transaction/jakarta.transaction-api/1.3.3/c4179d48720a1e87202115fbed6089bdc4195405/jakarta.transaction-api-1.3.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.persistence/jakarta.persistence-api/2.2.3/8f6ea5daedc614f07a3654a455660145286f024e/jakarta.persistence-api-2.2.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.6.7.Final/c62626c463b75530acb4f2fb2ae3ca85d80cfa06/hibernate-core-5.6.7.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-jpa/2.6.3/7fbfafa3b27c8f2e315fe489c2f0699a24f32082/spring-data-jpa-2.6.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aspects/5.3.18/78e473c68f3f579f6dff4810530260bcfe97ca8f/spring-aspects-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-json/2.6.6/6f405fb0ebe73841e4494aa65cf2f91d7dc2ae7f/spring-boot-starter-json-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/2.6.6/b34b4f0c1e99edc181ea40a6b1b79fa72658ee04/spring-boot-starter-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/2.6.6/2076a0fd75e63b57dd149a0ccf7a1545e3f1aec3/spring-boot-starter-tomcat-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.3.18/806b4ac997761daa32cba3f766d8ac09c132fe81/spring-webmvc-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.3.18/8db103c4109e925ec6f5fbfe577d447d3e95ded5/spring-web-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/datasource-decorator-spring-boot-autoconfigure/1.5.7/83c5a0750a42d36ffbcb988f82af0debd43ebd8b/datasource-decorator-spring-boot-autoconfigure-1.5.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/p6spy/p6spy/3.8.2/52299d9a1ec2bc2fb8b1a21cc12dfc1a7c033caf/p6spy-3.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-test-autoconfigure/2.6.6/c2571e2dd0a9543525b9bd6253942a89195d9b4d/spring-boot-test-autoconfigure-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-test/2.6.6/97626f535c1625e0ca3ede4351e4d55e4cd80ae1/spring-boot-test-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.jayway.jsonpath/json-path/2.6.0/67f565b424f7903a12d4f5b9361b11462ecacdac/json-path-2.6.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.xml.bind/jakarta.xml.bind-api/2.3.3/48e3b9cfc10752fba3521d6511f4165bea951801/jakarta.xml.bind-api-2.3.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.assertj/assertj-core/3.21.0/27a14d6d22c4e3d58f799fb2a5ca8eaf53e6942a/assertj-core-3.21.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest/2.2/1820c0968dba3a11a1b30669bb1f01978a91dedc/hamcrest-2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter/5.8.2/5a817b1e63f1217e5c586090c45e681281f097ad/junit-jupiter-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-junit-jupiter/4.0.0/b76de25bd6e5d8f7924d0536729c0076e37e9396/mockito-junit-jupiter-4.0.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-core/4.0.0/f5195e0c4a45716bbd2d1d29173adbd148acce3a/mockito-core-4.0.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.skyscreamer/jsonassert/1.5.0/6c9d5fe2f59da598d9aefc1cfc6528ff3cf32df3/jsonassert-1.5.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-test/5.3.18/9d6a388deed7abd60e2bddde44d927f9d009d3be/spring-test-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.3.18/7ff3000f3342989cb011b6095a0e86f2e5176cef/spring-core-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.xmlunit/xmlunit-core/2.8.4/35be57989ca80eefa03161b211630e319a8f36c6/xmlunit-core-2.8.4.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/5.3.18/8e9cce60c60257ae1d5b3cd675ec3a8286ed1955/spring-aop-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjweaver/1.9.7/158f5c255cd3e4408e795b79f7c3fbae9b53b7ca/aspectjweaver-1.9.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/5.3.18/b168d4c024cb002377bca91f2b804297d8b74003/spring-jdbc-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.zaxxer/HikariCP/4.0.3/107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f/HikariCP-4.0.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.3.6/1e6cd0e5d9f9919c8c8824fb4d310b09a978a60e/jaxb-runtime-2.3.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.hibernate.common/hibernate-commons-annotations/5.1.2.Final/e59ffdbc6ad09eeb33507b39ffcf287679a498c8/hibernate-commons-annotations-5.1.2.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.4.3.Final/c4bd7e12a745c0e7f6cf98c45cdcdf482fd827ea/jboss-logging-3.4.3.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy/1.11.22/8b4c7fa5562a09da1c2a9ab0873cb51f5034d83f/byte-buddy-1.11.22.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.jboss/jandex/2.4.2.Final/1e1c385990b258ff1a24c801e84aebbacf70eb39/jandex-2.4.2.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.5.1/3fe0bed568c62df5e89f4f174c101eab25345b6c/classmate-1.5.1.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/5.3.18/34f6683d9dbe6edb02ad9393df3d3211b5484622/spring-context-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/5.3.18/ec32d5f4c718cc63e7c44adf5c4e7c49cdffa147/spring-orm-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/2.6.3/767ebf330da425ac4ab4b14391a60d9ed3ba18b7/spring-data-commons-2.6.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/5.3.18/a93f91200e40b22ac0fda1308ecac081b820b099/spring-tx-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/5.3.18/3f0ea6598a5a1eae0a672f025a33a0b7e0d6dfd3/spring-beans-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.36/6c62681a2f655b49963a5983b8b0950a6120ae14/slf4j-api-1.7.36.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.2/cddd9380efd4b81ea01e98be8fbdc9765a81793b/jackson-datatype-jsr310-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.module/jackson-module-parameter-names/2.13.2/c406ec37f89125d1003093d5b96d216dc967153c/jackson-module-parameter-names-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.13.2/95f59cf63c3aadc1549578254af839a9c42ae84f/jackson-datatype-jdk8-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.13.2.2/ffeb635597d093509f33e1e94274d14be610f933/jackson-databind-2.13.2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/2.6.6/e5b575d304ec5c6746fef3cc594bbe89721d64c2/spring-boot-autoconfigure-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/2.6.6/286137a0c57d159f845faa1c2e8d0b7548391085/spring-boot-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/2.6.6/e37b388e2407a1b03f920a7fd0722e41745c92c6/spring-boot-starter-logging-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.annotation/jakarta.annotation-api/1.3.5/59eb84ee0d616332ff44aba065f3888cf002cd2d/jakarta.annotation-api-1.3.5.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.29/6d0cdafb2010f1297e574656551d7145240f6e25/snakeyaml-1.29.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/9.0.60/a88262a55ae2c4b5404149a48122523688be341a/tomcat-embed-websocket-9.0.60.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.60/e14045220243804544ddb168cb532f4640a220c/tomcat-embed-core-9.0.60.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/9.0.60/46dad1a278f348ca73466e0b73132bf4c4892c06/tomcat-embed-el-9.0.60.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/5.3.18/61c51831e49a85fc5bf925253ca63f46fec6f013/spring-expression-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.minidev/json-smart/2.4.8/7c62f5f72ab05eb54d40e2abf0360a2fe9ea477f/json-smart-2.4.8.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.activation/jakarta.activation-api/1.2.2/99f53adba383cb1bf7c3862844488574b559621f/jakarta.activation-api-1.2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-params/5.8.2/ddeafe92fc263f895bfb73ffeca7fd56e23c2cce/junit-jupiter-params-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.8.2/4c21029217adf07e4c0d0c5e192b6bf610c94bdc/junit-jupiter-api-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy-agent/1.11.22/2fbcf3210dfc09b42242e3b66a5281cc5b9adb80/byte-buddy-agent-1.11.22.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.vaadin.external.google/android-json/0.0.20131108.vaadin1/fa26d351fe62a6a17f5cda1287c1c6110dec413f/android-json-0.0.20131108.vaadin1.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jcl/5.3.18/7e5d8cd447981bc20d4c397a2ba0a1c65ff2267a/spring-jcl-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.3.6/45db7b69a8f1ec2c21eb7d4fc0ee729f53c1addc/txw2-2.3.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/3.0.12/cbbe1a62b0cc6c85972e99d52aaee350153dc530/istack-commons-runtime-3.0.12.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.13.2/ec18851f1976d5b810ae1a5fcc32520d2d38f77a/jackson-annotations-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.13.2/a6a0e0620d51833feffc67bccb51937b2345763/jackson-core-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.11/4741689214e9d1e8408b206506cbe76d1c6a7d60/logback-classic-1.2.11.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-to-slf4j/2.17.2/17dd0fae2747d9a28c67bc9534108823d2376b46/log4j-to-slf4j-2.17.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.36/ed46d81cef9c412a88caef405b58f93a678ff2ca/jul-to-slf4j-1.7.36.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.minidev/accessors-smart/2.4.8/6e1bee5a530caba91893604d6ab41d0edcecca9a/accessors-smart-2.4.8.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apiguardian/apiguardian-api/1.1.2/a231e0d844d2721b0fa1b238006d15c6ded6842a/apiguardian-api-1.1.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.8.2/32c8b8617c1342376fd5af2053da6410d8866861/junit-platform-commons-1.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.opentest4j/opentest4j/1.2.0/28c11eb91f9b6d8e200631d46e20a7f407f2a046/opentest4j-1.2.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.11/a01230df5ca5c34540cdaa3ad5efb012f1f1f792/logback-core-1.2.11.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.17.2/f42d6afa111b4dec5d2aea0fe2197240749a4ea6/log4j-api-2.17.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.1/a99500cf6eea30535eeac6be73899d048f8d12a8/asm-9.1.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.h2database/h2/1.4.200/f7533fe7cb8e99c87a43d325a77b4b678ad9031a/h2-1.4.200.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-engine/5.8.2/c598b4328d2f397194d11df3b1648d68d7d990e3/junit-jupiter-engine-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.objenesis/objenesis/3.2/7fadf57620c8b8abdf7519533e5527367cb51f09/objenesis-3.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.sun.activation/jakarta.activation/1.2.2/74548703f9851017ce2f556066659438019e7eb5/jakarta.activation-1.2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-engine/1.8.2/b737de09f19864bd136805c84df7999a142fec29/junit-platform-engine-1.8.2.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 study.datajpa.repository.MemberJpaRepositoryTest,bulkUpdate 20:56:06.803 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 20:56:06.814 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] 20:56:06.880 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [study.datajpa.repository.MemberJpaRepositoryTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper] 20:56:06.897 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [study.datajpa.repository.MemberJpaRepositoryTest], using SpringBootContextLoader 20:56:06.902 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [study.datajpa.repository.MemberJpaRepositoryTest]: class path resource [study/datajpa/repository/MemberJpaRepositoryTest-context.xml] does not exist 20:56:06.902 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [study.datajpa.repository.MemberJpaRepositoryTest]: class path resource [study/datajpa/repository/MemberJpaRepositoryTestContext.groovy] does not exist 20:56:06.902 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [study.datajpa.repository.MemberJpaRepositoryTest]: no resource found for suffixes {-context.xml, Context.groovy}. 20:56:06.903 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [study.datajpa.repository.MemberJpaRepositoryTest]: MemberJpaRepositoryTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 20:56:06.973 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [study.datajpa.repository.MemberJpaRepositoryTest] 20:56:07.075 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/production/classes/study/datajpa/DataJpaApplication.class] 20:56:07.076 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration study.datajpa.DataJpaApplication for test class study.datajpa.repository.MemberJpaRepositoryTest 20:56:07.258 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [study.datajpa.repository.MemberJpaRepositoryTest]: using defaults. 20:56:07.259 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener] 20:56:07.278 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@5066d65f, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@4233e892, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@77d2e85, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@3ecd267f, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@58ffcbd7, org.springframework.test.context.support.DirtiesContextTestExecutionListener@555cf22, org.springframework.test.context.transaction.TransactionalTestExecutionListener@6bb2d00b, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@3c9bfddc, org.springframework.test.context.event.EventPublishingTestExecutionListener@1a9c38eb, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@319bc845, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@4c5474f5, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@2f4205be, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@54e22bdd, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@3bd418e4, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@544820b7] 20:56:07.281 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@6955cb39 testClass = MemberJpaRepositoryTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@235a0c16 testClass = MemberJpaRepositoryTest, locations = '{}', classes = '{class study.datajpa.DataJpaApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7d61eb55, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@163370c2, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@13d9cbf5, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@c667f46, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3b5fad2d, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@4e41089d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null]. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.6.6) 2022-04-17 20:56:08.246 INFO 39496 --- [ main] s.d.repository.MemberJpaRepositoryTest : Starting MemberJpaRepositoryTest using Java 11.0.14.1 on MacBook-Pro.local with PID 39496 (started by milaju in /Users/milaju/Desktop/SpringDataJPA/data-jpa) 2022-04-17 20:56:08.248 INFO 39496 --- [ main] s.d.repository.MemberJpaRepositoryTest : No active profile set, falling back to 1 default profile: "default" 2022-04-17 20:56:09.521 INFO 39496 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2022-04-17 20:56:09.588 INFO 39496 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 58 ms. Found 2 JPA repository interfaces. 2022-04-17 20:56:11.058 INFO 39496 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2022-04-17 20:56:11.115 INFO 39496 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.7.Final 2022-04-17 20:56:11.280 INFO 39496 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2022-04-17 20:56:11.392 INFO 39496 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2022-04-17 20:56:11.480 INFO 39496 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2022-04-17 20:56:11.513 INFO 39496 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2022-04-17 20:56:12.208 DEBUG 39496 --- [ main] org.hibernate.SQL : drop table if exists member CASCADE 2022-04-17 20:56:12.216 INFO 39496 --- [ main] p6spy : #1650196572215 | took 1ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/datajpa drop table if exists member CASCADE drop table if exists member CASCADE ; 2022-04-17 20:56:12.216 DEBUG 39496 --- [ main] org.hibernate.SQL : drop table if exists team CASCADE 2022-04-17 20:56:12.216 INFO 39496 --- [ main] p6spy : #1650196572216 | took 0ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/datajpa drop table if exists team CASCADE drop table if exists team CASCADE ; 2022-04-17 20:56:12.216 DEBUG 39496 --- [ main] org.hibernate.SQL : drop sequence if exists hibernate_sequence 2022-04-17 20:56:12.216 INFO 39496 --- [ main] p6spy : #1650196572216 | took 0ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/datajpa drop sequence if exists hibernate_sequence drop sequence if exists hibernate_sequence; 2022-04-17 20:56:12.218 DEBUG 39496 --- [ main] org.hibernate.SQL : create sequence hibernate_sequence start with 1 increment by 1 2022-04-17 20:56:12.219 INFO 39496 --- [ main] p6spy : #1650196572219 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa create sequence hibernate_sequence start with 1 increment by 1 create sequence hibernate_sequence start with 1 increment by 1; 2022-04-17 20:56:12.220 DEBUG 39496 --- [ main] org.hibernate.SQL : create table member ( member_id bigint not null, age integer not null, username varchar(255), tema_id bigint, primary key (member_id) ) 2022-04-17 20:56:12.222 INFO 39496 --- [ main] p6spy : #1650196572222 | took 1ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa create table member ( member_id bigint not null, age integer not null, username varchar(255), tema_id bigint, primary key (member_id) ) create table member ( member_id bigint not null, age integer not null, username varchar(255), tema_id bigint, primary key (member_id) ); 2022-04-17 20:56:12.224 DEBUG 39496 --- [ main] org.hibernate.SQL : create table team ( team_id bigint not null, name varchar(255), primary key (team_id) ) 2022-04-17 20:56:12.225 INFO 39496 --- [ main] p6spy : #1650196572225 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa create table team ( team_id bigint not null, name varchar(255), primary key (team_id) ) create table team ( team_id bigint not null, name varchar(255), primary key (team_id) ); 2022-04-17 20:56:12.226 DEBUG 39496 --- [ main] org.hibernate.SQL : alter table member add constraint FK8g17q6hc0aeo27fqj0vlxsa38 foreign key (tema_id) references team 2022-04-17 20:56:12.229 INFO 39496 --- [ main] p6spy : #1650196572229 | took 3ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa alter table member add constraint FK8g17q6hc0aeo27fqj0vlxsa38 foreign key (tema_id) references team alter table member add constraint FK8g17q6hc0aeo27fqj0vlxsa38 foreign key (tema_id) references team; 2022-04-17 20:56:12.232 INFO 39496 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2022-04-17 20:56:12.340 INFO 39496 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2022-04-17 20:56:12.964 WARN 39496 --- [ main] 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 2022-04-17 20:56:14.549 INFO 39496 --- [ main] s.d.repository.MemberJpaRepositoryTest : Started MemberJpaRepositoryTest in 7.204 seconds (JVM running for 8.983) 2022-04-17 20:56:14.614 INFO 39496 --- [ main] o.s.t.c.transaction.TransactionContext : Began transaction (1) for test context [DefaultTestContext@6955cb39 testClass = MemberJpaRepositoryTest, testInstance = study.datajpa.repository.MemberJpaRepositoryTest@16f62062, testMethod = bulkUpdate@MemberJpaRepositoryTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@235a0c16 testClass = MemberJpaRepositoryTest, locations = '{}', classes = '{class study.datajpa.DataJpaApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7d61eb55, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@163370c2, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@13d9cbf5, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@c667f46, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3b5fad2d, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@4e41089d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]; transaction manager [org.springframework.orm.jpa.JpaTransactionManager@74cff17c]; rollback [false] 2022-04-17 20:56:14.823 DEBUG 39496 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 20:56:14.831 INFO 39496 --- [ main] p6spy : #1650196574831 | took 4ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 20:56:14.844 DEBUG 39496 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 20:56:14.845 INFO 39496 --- [ main] p6spy : #1650196574845 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 20:56:14.845 DEBUG 39496 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 20:56:14.846 INFO 39496 --- [ main] p6spy : #1650196574846 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 20:56:14.846 DEBUG 39496 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 20:56:14.847 INFO 39496 --- [ main] p6spy : #1650196574847 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 20:56:14.847 DEBUG 39496 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 20:56:14.847 INFO 39496 --- [ main] p6spy : #1650196574847 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 20:56:14.861 DEBUG 39496 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 20:56:14.865 INFO 39496 --- [ main] p6spy : #1650196574865 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (10, NULL, 'member1', 1); 2022-04-17 20:56:14.866 DEBUG 39496 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 20:56:14.867 INFO 39496 --- [ main] p6spy : #1650196574867 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (19, NULL, 'member1', 2); 2022-04-17 20:56:14.867 DEBUG 39496 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 20:56:14.868 INFO 39496 --- [ main] p6spy : #1650196574868 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (20, NULL, 'member1', 3); 2022-04-17 20:56:14.868 DEBUG 39496 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 20:56:14.868 INFO 39496 --- [ main] p6spy : #1650196574868 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (21, NULL, 'member1', 4); 2022-04-17 20:56:14.869 DEBUG 39496 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 20:56:14.869 INFO 39496 --- [ main] p6spy : #1650196574869 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (40, NULL, 'member1', 5); 2022-04-17 20:56:14.872 DEBUG 39496 --- [ main] org.hibernate.SQL : update member set age=age+1 where age>=? 2022-04-17 20:56:14.874 INFO 39496 --- [ main] p6spy : #1650196574874 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa update member set age=age+1 where age>=? update member set age=age+1 where age>=20; 2022-04-17 20:56:14.939 INFO 39496 --- [ main] p6spy : #1650196574939 | took 0ms | commit | connection 3| url jdbc:h2:tcp://localhost/~/datajpa ; 2022-04-17 20:56:14.941 INFO 39496 --- [ main] o.s.t.c.transaction.TransactionContext : Committed transaction for test: [DefaultTestContext@6955cb39 testClass = MemberJpaRepositoryTest, testInstance = study.datajpa.repository.MemberJpaRepositoryTest@16f62062, testMethod = bulkUpdate@MemberJpaRepositoryTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@235a0c16 testClass = MemberJpaRepositoryTest, locations = '{}', classes = '{class study.datajpa.DataJpaApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7d61eb55, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@163370c2, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@13d9cbf5, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@c667f46, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3b5fad2d, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@4e41089d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]] 2022-04-17 20:56:14.958 INFO 39496 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2022-04-17 20:56:14.963 INFO 39496 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2022-04-17 20:56:14.987 INFO 39496 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. Process finished with exit code 0 MemberRepository입니다. package study.datajpa.repository;import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Pageable;import org.springframework.data.domain.Slice;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Modifying;import org.springframework.data.jpa.repository.Query;import org.springframework.data.repository.query.Param;import study.datajpa.dto.MemberDto;import study.datajpa.entity.Member;import java.util.Collection;import java.util.List;import java.util.Optional;public interface MemberRepository extends JpaRepository<Member, Long> { List<Member> findByUsernameAndAgeGreaterThan(String username, int age); List<Member> findTop3HelloBy(); List<Member> findByUsername(@Param("username") String username); @Query("select m from Member m where m.username = :username and m.age = :age") List<Member> findUser(@Param("username") String username, @Param("age") int age); @Query("select m.username from Member m") List<String> findUsernameList(); @Query("select new study.datajpa.dto.MemberDto(m.id, m.username, t.name) from Member m join m.team t") List<MemberDto> findMemberDto(); @Query("select m from Member m where m.username in :names") List<Member> findByNames(@Param("names") Collection<String> names); List<Member> findListByUsername(String username); // 컬렉션 Member findMemberByUsername(String username); // 단건 Optional<Member> findOptionalByUsername(String username); // 단건 Optional Page<Member> findByAge(int age, Pageable pageable); @Modifying @Query("update Member m set m.age = m.age + 1 where m.age >= :age") int bulkAgePlus(@Param("age") int age);} MemberRepositoryTest 입니다. package study.datajpa.repository;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.data.domain.Page;import org.springframework.data.domain.PageRequest;import org.springframework.data.domain.Slice;import org.springframework.data.domain.Sort;import org.springframework.test.annotation.Rollback;import org.springframework.transaction.annotation.Transactional;import study.datajpa.dto.MemberDto;import study.datajpa.entity.Member;import study.datajpa.entity.Team;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import java.util.Arrays;import java.util.List;import java.util.Optional;import static org.assertj.core.api.Assertions.*;import static org.junit.jupiter.api.Assertions.*;@SpringBootTest@Transactional@Rollback(false)class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Autowired TeamRepository teamRepository; @PersistenceContext EntityManager em; @Test public void testMember() { System.out.println("memberRepository = " + memberRepository.getClass()); Member member = new Member("memberA"); Member savedMember = memberRepository.save(member); Member findMember = memberRepository.findById(savedMember.getId()).get(); assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); assertThat(findMember).isEqualTo(member); } @Test public void basicCRUD() { Member member1 = new Member("member1"); Member member2 = new Member("member2"); memberRepository.save(member1); memberRepository.save(member2); // 단건 조회 검증 Member findMember1 = memberRepository.findById(member1.getId()).get(); Member findMember2 = memberRepository.findById(member2.getId()).get(); assertThat(findMember1).isEqualTo(member1); assertThat(findMember2).isEqualTo(member2); findMember1.setUsername("member!!!!!!!"); // 리스트 조회 검증 List<Member> all = memberRepository.findAll(); assertThat(all.size()).isEqualTo(2); // 카운트 검증 long count = memberRepository.count(); assertThat(count).isEqualTo(2); // 삭제 검증 memberRepository.delete(member1); memberRepository.delete(member2); long deleteCount = memberRepository.count(); assertThat(deleteCount).isEqualTo(0); } @Test public void findByUsernameAndAgeGreaterThen() { Member m1 = new Member("AAA", 10); Member m2 = new Member("AAA", 20); memberRepository.save(m1); memberRepository.save(m2); List<Member> result = memberRepository.findByUsernameAndAgeGreaterThan("AAA", 15); assertThat(result.get(0).getUsername()).isEqualTo("AAA"); assertThat(result.get(0).getAge()).isEqualTo(20); assertThat(result.size()).isEqualTo(1); } @Test public void findHelloBy() { List<Member> helloBy = memberRepository.findTop3HelloBy(); } @Test public void testNamedQuery() { Member m1 = new Member("AAA", 10); Member m2 = new Member("BBB", 20); memberRepository.save(m1); memberRepository.save(m2); List<Member> result = memberRepository.findByUsername("AAA"); Member findMember = result.get(0); assertThat(findMember).isEqualTo(m1); } @Test public void testQuery() { Member m1 = new Member("AAA", 10); Member m2 = new Member("BBB", 20); memberRepository.save(m1); memberRepository.save(m2); List<Member> result = memberRepository.findUser("AAA", 10); Member findMember = result.get(0); assertThat(findMember).isEqualTo(m1); } @Test public void findUsernameList() { Member m1 = new Member("AAA", 10); Member m2 = new Member("BBB", 20); memberRepository.save(m1); memberRepository.save(m2); List<String> usernameList = memberRepository.findUsernameList(); for (String s : usernameList) { System.out.println("s = " + s); } } @Test public void findMemberDto() { Team team = new Team("teamA"); teamRepository.save(team); Member m1 = new Member("AAA", 10); m1.setTeam(team); memberRepository.save(m1); List<MemberDto> memberDto = memberRepository.findMemberDto(); for (MemberDto dto : memberDto) { System.out.println("dto = " + dto); } } @Test public void findByNames() { Member m1 = new Member("AAA", 10); Member m2 = new Member("BBB", 20); memberRepository.save(m1); memberRepository.save(m2); List<Member> result = memberRepository.findByNames(Arrays.asList("AAA", "BBB")); for (Member member : result) { System.out.println("member = " + member); } } @Test public void returnType() { Member m1 = new Member("AAA", 10); Member m2 = new Member("BBB", 20); memberRepository.save(m1); memberRepository.save(m2); Optional<Member> findMember = memberRepository.findOptionalByUsername("asdasfasDFADSF"); System.out.println("findMember = " + findMember); } @Test public void paging() { memberRepository.save(new Member("member1", 10)); memberRepository.save(new Member("member2", 10)); memberRepository.save(new Member("member3", 10)); memberRepository.save(new Member("member4", 10)); memberRepository.save(new Member("member5", 10)); int age = 10; PageRequest pageRequest = PageRequest.of(0, 3, Sort.by(Sort.Direction.DESC, "username")); // when Page<Member> page = memberRepository.findByAge(age, pageRequest); Page<MemberDto> toMap = page.map(m -> new MemberDto(m.getId(), m.getUsername(), null)); // then List<Member> content = page.getContent(); assertThat(content.size()).isEqualTo(3); assertThat(page.getTotalElements()).isEqualTo(5); assertThat(page.getNumber()).isEqualTo(0); assertThat(page.getTotalPages()).isEqualTo(2); assertThat(page.isFirst()).isTrue(); assertThat(page.hasNext()).isTrue(); } @Test public void bulkUpdate() { //given memberRepository.save(new Member("member1", 10)); memberRepository.save(new Member("member2", 19)); memberRepository.save(new Member("member3", 20)); memberRepository.save(new Member("member4", 21)); memberRepository.save(new Member("member5", 40)); // when int resultCount = memberRepository.bulkAgePlus(20); em.flush(); em.clear(); List<Member> result = memberRepository.findByUsername("member5"); Member member5 = result.get(0); System.out.println("member5 = " + member5); // then assertThat(resultCount).isEqualTo(3); }} 그리고 MemberRepository Interface에서 @Modifying을 주석처리하면 에러가 나야하지만 주석처리하고 돌려도 정상적으로 아래와 같이 실행이 됩니다. "/Applications/IntelliJ IDEA CE.app/Contents/jbr/Contents/Home/bin/java" -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=63008:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -classpath /Users/milaju/.m2/repository/org/junit/platform/junit-platform-launcher/1.8.2/junit-platform-launcher-1.8.2.jar:/Users/milaju/.m2/repository/org/junit/platform/junit-platform-engine/1.8.2/junit-platform-engine-1.8.2.jar:/Users/milaju/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/Users/milaju/.m2/repository/org/junit/platform/junit-platform-commons/1.8.2/junit-platform-commons-1.8.2.jar:/Users/milaju/.m2/repository/org/apiguardian/apiguardian-api/1.1.2/apiguardian-api-1.1.2.jar:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit5-rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/test/classes:/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/production/classes:/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/production/resources:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-data-jpa/2.6.6/30942753cd29132913a5b642dc5b045c1cb18fd9/spring-boot-starter-data-jpa-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-web/2.6.6/7aa73898044e9fb7dc71dbf4d4e0f2fbcc7ce25f/spring-boot-starter-web-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/p6spy-spring-boot-starter/1.5.7/1c1cc817d2ee7cfe8a511bb1b429254d05f7ad03/p6spy-spring-boot-starter-1.5.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-test/2.6.6/b6b577cad64544e47dc9f523d7091c2cbb85bd52/spring-boot-starter-test-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-aop/2.6.6/d08c239992526803aa4f7fc4e74f243ccc337ebb/spring-boot-starter-aop-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-jdbc/2.6.6/c0ee383ed4482fddc74ad645c0d77c98ec767140/spring-boot-starter-jdbc-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.transaction/jakarta.transaction-api/1.3.3/c4179d48720a1e87202115fbed6089bdc4195405/jakarta.transaction-api-1.3.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.persistence/jakarta.persistence-api/2.2.3/8f6ea5daedc614f07a3654a455660145286f024e/jakarta.persistence-api-2.2.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.hibernate/hibernate-core/5.6.7.Final/c62626c463b75530acb4f2fb2ae3ca85d80cfa06/hibernate-core-5.6.7.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-jpa/2.6.3/7fbfafa3b27c8f2e315fe489c2f0699a24f32082/spring-data-jpa-2.6.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aspects/5.3.18/78e473c68f3f579f6dff4810530260bcfe97ca8f/spring-aspects-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-json/2.6.6/6f405fb0ebe73841e4494aa65cf2f91d7dc2ae7f/spring-boot-starter-json-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter/2.6.6/b34b4f0c1e99edc181ea40a6b1b79fa72658ee04/spring-boot-starter-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-tomcat/2.6.6/2076a0fd75e63b57dd149a0ccf7a1545e3f1aec3/spring-boot-starter-tomcat-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-webmvc/5.3.18/806b4ac997761daa32cba3f766d8ac09c132fe81/spring-webmvc-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-web/5.3.18/8db103c4109e925ec6f5fbfe577d447d3e95ded5/spring-web-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.github.gavlyukovskiy/datasource-decorator-spring-boot-autoconfigure/1.5.7/83c5a0750a42d36ffbcb988f82af0debd43ebd8b/datasource-decorator-spring-boot-autoconfigure-1.5.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/p6spy/p6spy/3.8.2/52299d9a1ec2bc2fb8b1a21cc12dfc1a7c033caf/p6spy-3.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-test-autoconfigure/2.6.6/c2571e2dd0a9543525b9bd6253942a89195d9b4d/spring-boot-test-autoconfigure-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-test/2.6.6/97626f535c1625e0ca3ede4351e4d55e4cd80ae1/spring-boot-test-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.jayway.jsonpath/json-path/2.6.0/67f565b424f7903a12d4f5b9361b11462ecacdac/json-path-2.6.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.xml.bind/jakarta.xml.bind-api/2.3.3/48e3b9cfc10752fba3521d6511f4165bea951801/jakarta.xml.bind-api-2.3.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.assertj/assertj-core/3.21.0/27a14d6d22c4e3d58f799fb2a5ca8eaf53e6942a/assertj-core-3.21.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest/2.2/1820c0968dba3a11a1b30669bb1f01978a91dedc/hamcrest-2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter/5.8.2/5a817b1e63f1217e5c586090c45e681281f097ad/junit-jupiter-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-junit-jupiter/4.0.0/b76de25bd6e5d8f7924d0536729c0076e37e9396/mockito-junit-jupiter-4.0.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.mockito/mockito-core/4.0.0/f5195e0c4a45716bbd2d1d29173adbd148acce3a/mockito-core-4.0.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.skyscreamer/jsonassert/1.5.0/6c9d5fe2f59da598d9aefc1cfc6528ff3cf32df3/jsonassert-1.5.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-test/5.3.18/9d6a388deed7abd60e2bddde44d927f9d009d3be/spring-test-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-core/5.3.18/7ff3000f3342989cb011b6095a0e86f2e5176cef/spring-core-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.xmlunit/xmlunit-core/2.8.4/35be57989ca80eefa03161b211630e319a8f36c6/xmlunit-core-2.8.4.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-aop/5.3.18/8e9cce60c60257ae1d5b3cd675ec3a8286ed1955/spring-aop-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.aspectj/aspectjweaver/1.9.7/158f5c255cd3e4408e795b79f7c3fbae9b53b7ca/aspectjweaver-1.9.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jdbc/5.3.18/b168d4c024cb002377bca91f2b804297d8b74003/spring-jdbc-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.zaxxer/HikariCP/4.0.3/107cbdf0db6780a065f895ae9d8fbf3bb0e1c21f/HikariCP-4.0.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/jaxb-runtime/2.3.6/1e6cd0e5d9f9919c8c8824fb4d310b09a978a60e/jaxb-runtime-2.3.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.hibernate.common/hibernate-commons-annotations/5.1.2.Final/e59ffdbc6ad09eeb33507b39ffcf287679a498c8/hibernate-commons-annotations-5.1.2.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.jboss.logging/jboss-logging/3.4.3.Final/c4bd7e12a745c0e7f6cf98c45cdcdf482fd827ea/jboss-logging-3.4.3.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy/1.11.22/8b4c7fa5562a09da1c2a9ab0873cb51f5034d83f/byte-buddy-1.11.22.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/antlr/antlr/2.7.7/83cd2cd674a217ade95a4bb83a8a14f351f48bd0/antlr-2.7.7.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.jboss/jandex/2.4.2.Final/1e1c385990b258ff1a24c801e84aebbacf70eb39/jandex-2.4.2.Final.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml/classmate/1.5.1/3fe0bed568c62df5e89f4f174c101eab25345b6c/classmate-1.5.1.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-context/5.3.18/34f6683d9dbe6edb02ad9393df3d3211b5484622/spring-context-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-orm/5.3.18/ec32d5f4c718cc63e7c44adf5c4e7c49cdffa147/spring-orm-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.data/spring-data-commons/2.6.3/767ebf330da425ac4ab4b14391a60d9ed3ba18b7/spring-data-commons-2.6.3.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-tx/5.3.18/a93f91200e40b22ac0fda1308ecac081b820b099/spring-tx-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-beans/5.3.18/3f0ea6598a5a1eae0a672f025a33a0b7e0d6dfd3/spring-beans-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.slf4j/slf4j-api/1.7.36/6c62681a2f655b49963a5983b8b0950a6120ae14/slf4j-api-1.7.36.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jsr310/2.13.2/cddd9380efd4b81ea01e98be8fbdc9765a81793b/jackson-datatype-jsr310-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.module/jackson-module-parameter-names/2.13.2/c406ec37f89125d1003093d5b96d216dc967153c/jackson-module-parameter-names-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.datatype/jackson-datatype-jdk8/2.13.2/95f59cf63c3aadc1549578254af839a9c42ae84f/jackson-datatype-jdk8-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.13.2.2/ffeb635597d093509f33e1e94274d14be610f933/jackson-databind-2.13.2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/2.6.6/e5b575d304ec5c6746fef3cc594bbe89721d64c2/spring-boot-autoconfigure-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot/2.6.6/286137a0c57d159f845faa1c2e8d0b7548391085/spring-boot-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-starter-logging/2.6.6/e37b388e2407a1b03f920a7fd0722e41745c92c6/spring-boot-starter-logging-2.6.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.annotation/jakarta.annotation-api/1.3.5/59eb84ee0d616332ff44aba065f3888cf002cd2d/jakarta.annotation-api-1.3.5.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.29/6d0cdafb2010f1297e574656551d7145240f6e25/snakeyaml-1.29.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-websocket/9.0.60/a88262a55ae2c4b5404149a48122523688be341a/tomcat-embed-websocket-9.0.60.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-core/9.0.60/e14045220243804544ddb168cb532f4640a220c/tomcat-embed-core-9.0.60.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.tomcat.embed/tomcat-embed-el/9.0.60/46dad1a278f348ca73466e0b73132bf4c4892c06/tomcat-embed-el-9.0.60.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-expression/5.3.18/61c51831e49a85fc5bf925253ca63f46fec6f013/spring-expression-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.minidev/json-smart/2.4.8/7c62f5f72ab05eb54d40e2abf0360a2fe9ea477f/json-smart-2.4.8.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/jakarta.activation/jakarta.activation-api/1.2.2/99f53adba383cb1bf7c3862844488574b559621f/jakarta.activation-api-1.2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-params/5.8.2/ddeafe92fc263f895bfb73ffeca7fd56e23c2cce/junit-jupiter-params-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.8.2/4c21029217adf07e4c0d0c5e192b6bf610c94bdc/junit-jupiter-api-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.bytebuddy/byte-buddy-agent/1.11.22/2fbcf3210dfc09b42242e3b66a5281cc5b9adb80/byte-buddy-agent-1.11.22.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.vaadin.external.google/android-json/0.0.20131108.vaadin1/fa26d351fe62a6a17f5cda1287c1c6110dec413f/android-json-0.0.20131108.vaadin1.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.springframework/spring-jcl/5.3.18/7e5d8cd447981bc20d4c397a2ba0a1c65ff2267a/spring-jcl-5.3.18.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.glassfish.jaxb/txw2/2.3.6/45db7b69a8f1ec2c21eb7d4fc0ee729f53c1addc/txw2-2.3.6.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.sun.istack/istack-commons-runtime/3.0.12/cbbe1a62b0cc6c85972e99d52aaee350153dc530/istack-commons-runtime-3.0.12.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-annotations/2.13.2/ec18851f1976d5b810ae1a5fcc32520d2d38f77a/jackson-annotations-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-core/2.13.2/a6a0e0620d51833feffc67bccb51937b2345763/jackson-core-2.13.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-classic/1.2.11/4741689214e9d1e8408b206506cbe76d1c6a7d60/logback-classic-1.2.11.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-to-slf4j/2.17.2/17dd0fae2747d9a28c67bc9534108823d2376b46/log4j-to-slf4j-2.17.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.slf4j/jul-to-slf4j/1.7.36/ed46d81cef9c412a88caef405b58f93a678ff2ca/jul-to-slf4j-1.7.36.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/net.minidev/accessors-smart/2.4.8/6e1bee5a530caba91893604d6ab41d0edcecca9a/accessors-smart-2.4.8.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apiguardian/apiguardian-api/1.1.2/a231e0d844d2721b0fa1b238006d15c6ded6842a/apiguardian-api-1.1.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.8.2/32c8b8617c1342376fd5af2053da6410d8866861/junit-platform-commons-1.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.opentest4j/opentest4j/1.2.0/28c11eb91f9b6d8e200631d46e20a7f407f2a046/opentest4j-1.2.0.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/ch.qos.logback/logback-core/1.2.11/a01230df5ca5c34540cdaa3ad5efb012f1f1f792/logback-core-1.2.11.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.apache.logging.log4j/log4j-api/2.17.2/f42d6afa111b4dec5d2aea0fe2197240749a4ea6/log4j-api-2.17.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.1/a99500cf6eea30535eeac6be73899d048f8d12a8/asm-9.1.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.h2database/h2/1.4.200/f7533fe7cb8e99c87a43d325a77b4b678ad9031a/h2-1.4.200.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-engine/5.8.2/c598b4328d2f397194d11df3b1648d68d7d990e3/junit-jupiter-engine-5.8.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.objenesis/objenesis/3.2/7fadf57620c8b8abdf7519533e5527367cb51f09/objenesis-3.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/com.sun.activation/jakarta.activation/1.2.2/74548703f9851017ce2f556066659438019e7eb5/jakarta.activation-1.2.2.jar:/Users/milaju/.gradle/caches/modules-2/files-2.1/org.junit.platform/junit-platform-engine/1.8.2/b737de09f19864bd136805c84df7999a142fec29/junit-platform-engine-1.8.2.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 study.datajpa.repository.MemberJpaRepositoryTest,bulkUpdate 21:04:41.706 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate] 21:04:41.716 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)] 21:04:41.785 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [study.datajpa.repository.MemberJpaRepositoryTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper] 21:04:41.799 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [study.datajpa.repository.MemberJpaRepositoryTest], using SpringBootContextLoader 21:04:41.804 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [study.datajpa.repository.MemberJpaRepositoryTest]: class path resource [study/datajpa/repository/MemberJpaRepositoryTest-context.xml] does not exist 21:04:41.804 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [study.datajpa.repository.MemberJpaRepositoryTest]: class path resource [study/datajpa/repository/MemberJpaRepositoryTestContext.groovy] does not exist 21:04:41.804 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [study.datajpa.repository.MemberJpaRepositoryTest]: no resource found for suffixes {-context.xml, Context.groovy}. 21:04:41.805 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [study.datajpa.repository.MemberJpaRepositoryTest]: MemberJpaRepositoryTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration. 21:04:41.875 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [study.datajpa.repository.MemberJpaRepositoryTest] 21:04:41.973 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [/Users/milaju/Desktop/SpringDataJPA/data-jpa/out/production/classes/study/datajpa/DataJpaApplication.class] 21:04:41.975 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration study.datajpa.DataJpaApplication for test class study.datajpa.repository.MemberJpaRepositoryTest 21:04:42.145 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [study.datajpa.repository.MemberJpaRepositoryTest]: using defaults. 21:04:42.145 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener] 21:04:42.161 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@655ef322, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@7e276594, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@3401a114, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@5066d65f, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@4233e892, org.springframework.test.context.support.DirtiesContextTestExecutionListener@77d2e85, org.springframework.test.context.transaction.TransactionalTestExecutionListener@3ecd267f, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@58ffcbd7, org.springframework.test.context.event.EventPublishingTestExecutionListener@555cf22, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@6bb2d00b, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@3c9bfddc, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@1a9c38eb, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@319bc845, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@4c5474f5, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@2f4205be] 21:04:42.164 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@4b9df8a testClass = MemberJpaRepositoryTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@5e8ac0e1 testClass = MemberJpaRepositoryTest, locations = '{}', classes = '{class study.datajpa.DataJpaApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7d61eb55, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@163370c2, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@13d9cbf5, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@c667f46, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3b5fad2d, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@4e41089d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null]. . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.6.6) 2022-04-17 21:04:42.963 INFO 39593 --- [ main] s.d.repository.MemberJpaRepositoryTest : Starting MemberJpaRepositoryTest using Java 11.0.14.1 on MacBook-Pro.local with PID 39593 (started by milaju in /Users/milaju/Desktop/SpringDataJPA/data-jpa) 2022-04-17 21:04:42.965 INFO 39593 --- [ main] s.d.repository.MemberJpaRepositoryTest : No active profile set, falling back to 1 default profile: "default" 2022-04-17 21:04:44.194 INFO 39593 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2022-04-17 21:04:44.262 INFO 39593 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 58 ms. Found 2 JPA repository interfaces. 2022-04-17 21:04:45.656 INFO 39593 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2022-04-17 21:04:45.707 INFO 39593 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.7.Final 2022-04-17 21:04:45.864 INFO 39593 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2022-04-17 21:04:45.973 INFO 39593 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2022-04-17 21:04:46.059 INFO 39593 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2022-04-17 21:04:46.091 INFO 39593 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect 2022-04-17 21:04:46.746 DEBUG 39593 --- [ main] org.hibernate.SQL : drop table if exists member CASCADE 2022-04-17 21:04:46.751 INFO 39593 --- [ main] p6spy : #1650197086751 | took 1ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/datajpa drop table if exists member CASCADE drop table if exists member CASCADE ; 2022-04-17 21:04:46.751 DEBUG 39593 --- [ main] org.hibernate.SQL : drop table if exists team CASCADE 2022-04-17 21:04:46.751 INFO 39593 --- [ main] p6spy : #1650197086751 | took 0ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/datajpa drop table if exists team CASCADE drop table if exists team CASCADE ; 2022-04-17 21:04:46.752 DEBUG 39593 --- [ main] org.hibernate.SQL : drop sequence if exists hibernate_sequence 2022-04-17 21:04:46.752 INFO 39593 --- [ main] p6spy : #1650197086752 | took 0ms | statement | connection 1| url jdbc:h2:tcp://localhost/~/datajpa drop sequence if exists hibernate_sequence drop sequence if exists hibernate_sequence; 2022-04-17 21:04:46.754 DEBUG 39593 --- [ main] org.hibernate.SQL : create sequence hibernate_sequence start with 1 increment by 1 2022-04-17 21:04:46.755 INFO 39593 --- [ main] p6spy : #1650197086755 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa create sequence hibernate_sequence start with 1 increment by 1 create sequence hibernate_sequence start with 1 increment by 1; 2022-04-17 21:04:46.756 DEBUG 39593 --- [ main] org.hibernate.SQL : create table member ( member_id bigint not null, age integer not null, username varchar(255), tema_id bigint, primary key (member_id) ) 2022-04-17 21:04:46.757 INFO 39593 --- [ main] p6spy : #1650197086757 | took 1ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa create table member ( member_id bigint not null, age integer not null, username varchar(255), tema_id bigint, primary key (member_id) ) create table member ( member_id bigint not null, age integer not null, username varchar(255), tema_id bigint, primary key (member_id) ); 2022-04-17 21:04:46.760 DEBUG 39593 --- [ main] org.hibernate.SQL : create table team ( team_id bigint not null, name varchar(255), primary key (team_id) ) 2022-04-17 21:04:46.761 INFO 39593 --- [ main] p6spy : #1650197086761 | took 0ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa create table team ( team_id bigint not null, name varchar(255), primary key (team_id) ) create table team ( team_id bigint not null, name varchar(255), primary key (team_id) ); 2022-04-17 21:04:46.761 DEBUG 39593 --- [ main] org.hibernate.SQL : alter table member add constraint FK8g17q6hc0aeo27fqj0vlxsa38 foreign key (tema_id) references team 2022-04-17 21:04:46.764 INFO 39593 --- [ main] p6spy : #1650197086764 | took 2ms | statement | connection 2| url jdbc:h2:tcp://localhost/~/datajpa alter table member add constraint FK8g17q6hc0aeo27fqj0vlxsa38 foreign key (tema_id) references team alter table member add constraint FK8g17q6hc0aeo27fqj0vlxsa38 foreign key (tema_id) references team; 2022-04-17 21:04:46.767 INFO 39593 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2022-04-17 21:04:46.910 INFO 39593 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2022-04-17 21:04:47.555 WARN 39593 --- [ main] 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 2022-04-17 21:04:48.952 INFO 39593 --- [ main] s.d.repository.MemberJpaRepositoryTest : Started MemberJpaRepositoryTest in 6.73 seconds (JVM running for 8.42) 2022-04-17 21:04:49.001 INFO 39593 --- [ main] o.s.t.c.transaction.TransactionContext : Began transaction (1) for test context [DefaultTestContext@4b9df8a testClass = MemberJpaRepositoryTest, testInstance = study.datajpa.repository.MemberJpaRepositoryTest@42db3ff, testMethod = bulkUpdate@MemberJpaRepositoryTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@5e8ac0e1 testClass = MemberJpaRepositoryTest, locations = '{}', classes = '{class study.datajpa.DataJpaApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7d61eb55, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@163370c2, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@13d9cbf5, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@c667f46, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3b5fad2d, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@4e41089d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]]; transaction manager [org.springframework.orm.jpa.JpaTransactionManager@2f4fc18]; rollback [false] 2022-04-17 21:04:49.176 DEBUG 39593 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 21:04:49.185 INFO 39593 --- [ main] p6spy : #1650197089185 | took 4ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 21:04:49.222 DEBUG 39593 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 21:04:49.223 INFO 39593 --- [ main] p6spy : #1650197089223 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 21:04:49.223 DEBUG 39593 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 21:04:49.224 INFO 39593 --- [ main] p6spy : #1650197089224 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 21:04:49.224 DEBUG 39593 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 21:04:49.225 INFO 39593 --- [ main] p6spy : #1650197089225 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 21:04:49.225 DEBUG 39593 --- [ main] org.hibernate.SQL : call next value for hibernate_sequence 2022-04-17 21:04:49.226 INFO 39593 --- [ main] p6spy : #1650197089226 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa call next value for hibernate_sequence call next value for hibernate_sequence; 2022-04-17 21:04:49.239 DEBUG 39593 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 21:04:49.243 INFO 39593 --- [ main] p6spy : #1650197089243 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (10, NULL, 'member1', 1); 2022-04-17 21:04:49.244 DEBUG 39593 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 21:04:49.245 INFO 39593 --- [ main] p6spy : #1650197089245 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (19, NULL, 'member1', 2); 2022-04-17 21:04:49.245 DEBUG 39593 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 21:04:49.246 INFO 39593 --- [ main] p6spy : #1650197089246 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (20, NULL, 'member1', 3); 2022-04-17 21:04:49.246 DEBUG 39593 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 21:04:49.247 INFO 39593 --- [ main] p6spy : #1650197089247 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (21, NULL, 'member1', 4); 2022-04-17 21:04:49.247 DEBUG 39593 --- [ main] org.hibernate.SQL : insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) 2022-04-17 21:04:49.247 INFO 39593 --- [ main] p6spy : #1650197089247 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa insert into member (age, tema_id, username, member_id) values (?, ?, ?, ?) insert into member (age, tema_id, username, member_id) values (40, NULL, 'member1', 5); 2022-04-17 21:04:49.251 DEBUG 39593 --- [ main] org.hibernate.SQL : update member set age=age+1 where age>=? 2022-04-17 21:04:49.252 INFO 39593 --- [ main] p6spy : #1650197089252 | took 0ms | statement | connection 3| url jdbc:h2:tcp://localhost/~/datajpa update member set age=age+1 where age>=? update member set age=age+1 where age>=20; 2022-04-17 21:04:49.312 INFO 39593 --- [ main] p6spy : #1650197089312 | took 0ms | commit | connection 3| url jdbc:h2:tcp://localhost/~/datajpa ; 2022-04-17 21:04:49.313 INFO 39593 --- [ main] o.s.t.c.transaction.TransactionContext : Committed transaction for test: [DefaultTestContext@4b9df8a testClass = MemberJpaRepositoryTest, testInstance = study.datajpa.repository.MemberJpaRepositoryTest@42db3ff, testMethod = bulkUpdate@MemberJpaRepositoryTest, testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@5e8ac0e1 testClass = MemberJpaRepositoryTest, locations = '{}', classes = '{class study.datajpa.DataJpaApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.autoconfigure.actuate.metrics.MetricsExportContextCustomizerFactory$DisableMetricExportContextCustomizer@7d61eb55, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@163370c2, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@13d9cbf5, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@c667f46, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3b5fad2d, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@4e41089d], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.populatedRequestContextHolder' -> true, 'org.springframework.test.context.web.ServletTestExecutionListener.resetRequestContextHolder' -> true, 'org.springframework.test.context.event.ApplicationEventsTestExecutionListener.recordApplicationEvents' -> false]] 2022-04-17 21:04:49.330 INFO 39593 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2022-04-17 21:04:49.335 INFO 39593 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2022-04-17 21:04:49.351 INFO 39593 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. Process finished with exit code 0
-
미해결더 자바, 코드를 조작하는 다양한 방법
JVM 메모리 구조에 대해 공부하다가 질문 드립니다.
안녕하세요! JVM의 메모리 영역 중 메소드 영역에 관해 질문 드립니다. .class 파일들이 JVM으로 로드 되면 메소드 영역에 Class에 대한 정보들을 담는 Class type객체나 static 변수들이 그 쪽에 할당된다고 하셨는데, 이게 어플리케이션이 컨테이너에서 구동될 때 이루어지는 작업이니까 혹시 그러면 어플리케이션이 완전이 시작한 이후에 application scope 내장 객체에서 getAttribute를 통해서도 접근이 가능 할까요..?? 또한 다른 변수들은 아닌 static 변수들만 method 영역에 생성되는 건지도 궁금합니다... static 변수, static 메소드, static 클래스 등등 static과 관련된 모든 object들이 저 영역에 생성이 되는 것인가요..? 강의를 통해 궁금한 점이 생겨 질문 드립니다! 감사합니다!
-
미해결초보를 위한 도커 안내서
wordpress에서 db 연결 문제
docker compose 기본 강의 질문있습니다. 첨부해주신 강의 자료중 docker-compose 그대로 첨부해서 올리니 wordpress에서 db 연결을 못합니다. 로그를 확인해보니 이렇게 권한 문제가 나오는데 .. 강의와 다르게 추가적으로 권한 작업을 해야하는건가요 ??
-
미해결스프링 프레임워크 핵심 기술
HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.
안녕하세요! 스프링에 대한 기초 지식이 부족한 개발자 입니다. 프로젝트 개발 중 해결은 하였지만 이해가 가지 않아 질문 드립니다. 너무 궁금해서 강의를 시작하기도 전에 질문 먼저 드리는 점 죄송합니다..ㅠ 기존에 돌아가던 프로젝트를 이관하는 중에 client로부터 page라는 parameter가 request에 중복으로 들어오는 경우가 생겼습니다. 가장 좋은 방법은 하나를 빼고 request를 보내도록 수정하는 것이겠지만, 다른 부분에서도 쓰이는 util쪽 코드라 쉽게 건들이지 못해서 RequestWrapper를 사용하게 되었습니다. public class RequestWrapper extends HttpServletRequestWrapper { Map<String, Object> hashMap ; public RequestWrapper ( HttpServletRequest req ) { .... hashMap = new HashMap<String, Object>( req.getParameterMap ); } 이런 식으로 request로 들어온 parameter들을 받아서 중복된 page를 제거하고 hashMap에 넣은 후, getParameterValues와 getParameter에서 저 hashMap에서 값을 꺼내오도록 변경하였습니다. 제가 이해가 안가는 부분은 아래와 같은 상황인데요.. 특정 request 를 받아 controller를 거쳐 xxx.jsp를 리턴 한 후 ( A과정 ) 해당 jsp안에서 jstl의 <c:import>와 <c:param>을 통해 다시 한번 임의의 다른 controller를 호출해서 값을 받아오는 ( B과정 ) 부분이 있었습니다. 그런데 wrapper를 적용하기 전에는 정상작동하던 것이 wrapper를 사용하기 시작하니까 <c:param>으로 넘겨주는 값들은 넘어가지가 않고 그 전에 호출되던 A과정의 request parameter들이 넘어가더라구요.. request객체는 scope가 request이니까 A과정에서 jsp를 return하고 나면 사라지고 B과정에서 jstl 태그를 이용해 다시 특정 컨트롤러를 호출하면 새로운 request 객체가 생성되서 <c:param>들이 넘어가야 맞는 것 아닌가요...? getParameter를 통해 <c:param>으로 보내준 값을들 찍어봐도 전부 null값으로 나왔습니다.. 제가 추측하는 이유는 1) jsp안에서 jstl로 다른 컨트롤러 호출 시 request의 scope이 종료되지 않은 경우 2) request는 A과정과 B과정 모두 각각 생성되고 사라지는데, wrapper의 생성자에서 hashMap을 세팅했기 떄문에 이후에는 wrapper 객체가 새로 생성되는 경우가 없어 hashMap 값이 바뀌지 않는 경우 2)번이 이유인 경우에 그럼 wrapper의 scope도 prototype이나 request로 변경해줘야 할까요..?? 상태값을 가지고 있는 class 의 경우 싱글톤으로 관리하면 안된다고 배우긴 했는데 ... requestWapper이니 request별로 뭔가 초기화 되거나 새로 만들어질 것이라고 생각을 했습니다..ㅠ 제가 스프링 지식이 부족해서 질문을 너무 복잡하게 작성한 것 같습니다.. 혹시 위 말고 다른 이유가 있는 걸까요??.. 답변 기다리고 있겠습니다...ㅠ 감사합니다!
-
미해결Slack 클론 코딩[실시간 채팅 with React]
./dist/Workspace.tsx에서 {children} 질문입니다.
강의를 들으면서 Workspace.tsx 코드를 작성할 때 const Workspace :FC를 해주면 children부분 타입에러가 해결된다고 하셨는데 계속 타입에러 뜨면서 컴파일 에러가 발생합니다. 그래서 따로 {children} : React.ReactNode도 해보고 any도 입력해 보았는데 둘다 해결되지 않습니다. 어떻게 해야하나요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
DedupingInterval에 관해서 질문드립니다.
안녕하세요 강사님. 강의 잘 보고있습니다! useSWR을 이곳저곳에서 사용하면서, 어떤 곳에서는 DedupingInterval을 1000으로 주고, 다른 곳에서는 100000으로 주면 어떤 DedupingInterval을 따르나요? 예를 들어서 A에서는 'api/users/'에 DedupingInterval을 2000으로 주고 B에서도 마찬가지로 'api/users/'을 key로 설정하지만, DedupingInterval을 5000으로 준다면 실제 캐시에는 몇 초마다 값이 갱신되나요? 혹시 현재 보고있는 view에 따라서 결정되나요? 만약 그렇다면, 매번 DedupingInterval을 매번 설정할 필요없이 전역적으로 설정하는 방법도 있을까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 작성후 디버그했을 때
코드 작성하고 디버그를 돌렸는데 input.txt를 읽었을텐데 그냥 cmd창에는 press any key to continue 라고만 나옵니다.. 어떤 원인이 있는걸까요.. 현재 뒤집은 소수 강의까지 잘 듣다가 지금 이런 오류가 나타나네요 계속.. 코드도 강사님과 똑같이 잘 작성 하였는데요ㅠㅠ
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
모듈 메모리 에러
모듈을 넣어서 실행하면 모듈을 작성한 곳에서 메모리 에러가 뜨는데 원인을 모르겠습니다메모리 5기가 정도 여유 있는데도 메모리 에러가 뜨네요 :(저 def price(people) 에서 people 에 커서를 놓으니 수만번의 print 문장이 펼쳐져 있었어요 아마 여러번 문장이 반복되면서 메모리를 채운거 같다고 저는 생각하는데 해결 방법이 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
sql 로그가 안남아요 ㅜㅜ
yml 설정 파일엔 문제가 없는 것 같은데 sql 로그가 안남네요 ㅜㅜ
-
미해결Nuxt.js 시작하기
컴포넌트화 시키는 방법
안녕하십니까 ? 불규칙적이고 다양한 dom을 사용하는 contents를 컴포넌트화 시킬려면 어떻케 해야하는지 궁금합니다 이런 contents가 만개정도가 있다면 만개 page를 만들수 없는 여건입니다(아래내용 참조) (아래내용에서 contents를 불러오는 event(viewContents) 와 dom 속성과 style을 변경하는 이벤트 동작 필수) 좋은 아이디어가 있을까요 ? 컴포넌트화 시킬 내용 <template> <div class="xNode" id="lawcurtree"> <div class="curNode"> <img id="d0imgtree" class="inline-block" src="/image/tree/base.gif"> <span class="lawmark">법률</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000000887Z1817620210518')">근로기준법 [시행 2021. 11. 19.] [법률 제18176호, 2021. 5. 18., 일부개정]</div> </div> <div id="b0imgtree" style="display: block;"> <div class="curNode"> <img id="c1imgtree" class="inline-block" src="/image/tree/minus.gif" @click="displayOnOff('b1imgtree', 'c1imgtree')"> <img id="d1imgtree" class="inline-block" src="/image/tree/folderopen.gif"> <span class="lawmark">시행령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000001009Z3213020211119')">근로기준법 시행령 [시행 2021. 11. 19.] [대통령령 제32130호, 2021. 11. 19., 일부개정]</div> </div> <div id="b1imgtree" style="display: block;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img id="c4imgtree" class="inline-block" src="/image/tree/minus.gif" @click="displayOnOff('b4imgtree', 'c4imgtree')"> <img id="d4imgtree" class="inline-block" src="/image/tree/folderopen.gif"> <span class="lawmark">시행규칙</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000008520Z33520211119')">근로기준법 시행규칙 [시행 2021. 11. 19.] [고용노동부령 제335호, 2021. 11. 19., 일부개정]</div> </div> <div id="b4imgtree" style="display: block;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/line.gif"> <img id="c1imgtree5" class="inline-block" src="/image/tree/plusbottom.gif" @click="displayOnOff('b1imgtree5', 'c1imgtree5')"> <img id="d1imgtree5" class="inline-block" src="/image/tree/folder02.gif"> <span>행정규칙 </span> </div> <div id="b1imgtree5" style="display: none;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <span class="rulemark">훈령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000018446Z14220150227')">임금체불사업주 명단 공개 및 체불자료 제공 관련 업무 처리 규정 [시행 2015. 2. 27.] [훈령 제142호, 2015. 2. 27., 일부개정]</div> </div> </div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img id="c1imgtree4" class="inline-block" src="/image/tree/plusbottom.gif" @click="displayOnOff('b1imgtree4', 'c1imgtree4')"> <img id="d1imgtree4" class="inline-block" src="/image/tree/folder02.gif"> <span>행정규칙 </span> </div> <div id="b1imgtree4" style="display: none;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">예규</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000023689Z4720120925')">통상임금 산정지침 [시행 2012. 9. 25.] [예규 제47호, 2012. 9. 25., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000018909Z2019-3620190731')">재량근로의 대상 업무 [시행 2019. 7. 31.] [고시 제2019-36호, 2019. 7. 31., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000024093Z2015-7720151014')">평균임금산정 특례 고시 [시행 2015. 10. 14.] [고시 제2015-77호, 2015. 10. 14., 일부개정]</div> </div> </div> </div> <div class="curNode"> <img id="c2imgtree" class="inline-block" src="/image/tree/minus.gif" @click="displayOnOff('b2imgtree', 'c2imgtree')"> <img id="d2imgtree" class="inline-block" src="/image/tree/folderopen.gif"> <span class="lawmark">시행령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000001695Z2246520101027')">근로감독관규정 [시행 2010. 10. 27.] [대통령령 제22465호, 2010. 10. 27., 전부개정]</div> </div> <div id="b2imgtree" style="display: block;"> <div class="curNode"> <img class="inline-block" src="/image/tree/line.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <img id="d3imgtree" class="inline-block" src="/image/tree/folder.gif"> <span class="lawmark">시행규칙</span> <div class="inline-block hover:text-blue-500" @click="viewContents('A0000006784Z15820160616')">근로감독관증 규칙 [시행 2016. 6. 16.] [고용노동부령 제158호, 2016. 6. 16., 타법개정]</div> </div> </div> <div class="curNode"> <img id="c1imgtree3" class="inline-block" src="/image/tree/plusbottom.gif" @click="displayOnOff('b1imgtree3', 'c1imgtree3')"> <img id="d1imgtree3" class="inline-block" src="/image/tree/folder02.gif"> <span>행정규칙 </span> </div> <div id="b1imgtree3" style="display: none;"> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">훈령</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000007826Z37420211025')">근로감독관집무규정 [시행 2021. 10. 25.] [훈령 제374호, 2021. 10. 25., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">예규</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000023822Z2015-10020151106')">퇴직의 효력발생시기 [시행 2015. 11. 6.] [예규 제2015-100호, 2015. 11. 6., 일부개정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/join.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000033277Z2021-2920210401')">특별연장근로 건강보호조치 [시행 2021. 4. 6.] [고시 제2021-29호, 2021. 4. 1., 제정]</div> </div> <div class="curNode"> <img class="inline-block" src="/image/tree/empty.gif"> <img class="inline-block" src="/image/tree/joinbottom.gif"> <span class="rulemark">고시</span> <div class="inline-block hover:text-blue-500" @click="viewContents('B0000024895Z2017-1320170113')">한국표준산업분류 [시행 2017. 7. 1.] [고시 제2017-13호, 2017. 1. 13., 전부개정]</div> </div> </div> </div> </template>.
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
4.3 노드포트(nodeport) 강의에서 질문입니다
확인차 질문드립니다. nodeport.yaml 에서 deployment의 metadata:의 name:은 selector: matchLabels:의 app: 이름, template:metadata:labels:의 app: 이름과는 달라도 되는 것이죠? 1) kind: Deployment metadata: name: deploy-nginx 2) selector: matchLabels: app: deploy-nginx 3) template: metadata: labels: app: deploy-nginx (질문 요약) 2)의 app: 이름과 3)의 app: 이름은 같아야하지만, 2)의 app: 이름은 1)의 name:과는 같을 필요는 없음. 맞나요?
-
미해결스프링 핵심 원리 - 기본편
영한님 단축키 사용하실 때 하단에 어떤 단축키인지 설명과 함께 윈도우에서는 어떤 단축키인지 나오는 노티?창뜨는건 어떻게 설정하신 건가요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]영한님 단축키 사용하실 때 하단에 어떤 단축키인지 설명과 함께 윈도우에서는 어떤 단축키인지 나오는 노티?창뜨는건 어떻게 설정하신 건가요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
arg 관련 질문 드립니다.
이번 실습 중 Vector 클래스에서 인자로 받으신 변수 명은 arg 이나 실습 중에 사용하신 변수 명은 args 로 사용하셨던데.. 저렇게 사용하면 pycharm에서는 에러가 나더라구요 저게 맞는 사용법인가요??
-
미해결Java TPC (생각하고, 표현하고, 코딩하고)
downcasting 질문입니다.
안녕하세요 downcasting 질문 드립니다. 강의 예시에서 dog와 cat 클래스가 class 파일 제공이 되고 부모 클래스 animal은 자바로 제공이 된다고 했을때 부모클래스(animal)에는 없는 night 함수를 자식클래스(cat)에 존재하는지 어떻게 알고 또 어떤 기능인지 어떻게 알고 다운캐스팅을 하여 사용할까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
로그아웃과 필터 관련 질문이 있습니다.
강사님 코드를 완전히 따라하지 않고 따로 프로젝트를 만들어 진행하면서 따라가고 있는데 지금까지 잘 따라 왔습니다. 문제는 로그아웃을 클릭하면 세션 정보가 잘 날라가고 화이트 리스트 외 페이지에 접근이 안 되는 것은 정상적으로 동작하는데 로그아웃을 클릭한 뒤 바로 뒤로가기를 누르면 로그아웃 페이지 까지는 접근이 됩니다. 접근된 로그아웃 페이지에서 다른 페이지로 이동하면 필터 걸려서 다시 튕겨 나오구요. 어떤 부분을 다듬어주면 좋을까요?..