미해결
실전! 스프링 데이터 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
jay
2022-04-17T12:03:09.821Z
댓글 1
좋아요 0
조회수 325