묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
회원가입 테스트 오류메세지
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]회원가입 테스트 진행하는데 테스트 자체는 강의와 똑같이 잘 진행됩니다. 오류메세지가 계속 뜨는데 해결을 어떻게 해야되는지는 모르겠네요.--------------오류메세지------------Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3WARNING: A Java agent has been loaded dynamically (C:\Users\hyozz\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.15.11\a38b16385e867f59a641330f0362ebe742788ed8\byte-buddy-agent-1.15.11.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future releaseOpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended--------------오류메세지------------
-
미해결개발자에게 필요한 로그 관리
현재 섹션5 보고 있는 상태인데 이후에 push & pull model의 차이점도 나오나요?
모니터링 또는 메트릭 수집에는 Push 또는 Pull 모델이 있다고 들었습니다.이 두 방식의 차이점이나 도구들에 대한 부분도 나오는지 궁금합니다!
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
토이프로젝트에서 spring data jpa 기반으로 페이징 처리 중 궁금한 점 있습니다.
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]먼저 강의 설명과 일맥상통한 부분일 것 같지만, Spring Data JPA를 바탕으로 토이프로젝트를 개발하고있고 Pageable 인터페이스를 활용하고 있습니다. 프로젝트에서 Item(품목)의 하위 개념으로 Product(제품)을 가지고 있습니다.(1:N - 품목 하나에 대해 여러개의 제품을 등록 할 수 있음)처음에는 특정 item을 클릭했을 때, 해당 item의 정보와 item에 등록된 하위 Product 리스트(목록을 보여주기 위한 일부 정보들만)를 보여주기 위해 item에 접급하는 Repository에 다음 메소드를 만들었습니다.@Query(value = "SELECT DISTINCT i FROM Item i LEFT JOIN FETCH i.productList WHERE i.id = :itemId", countQuery = "SELECT COUNT(p) FROM Product p WHERE p.item.id = :itemId") Page<Item> findWithProductsByItemId(@Param("itemId") long itemId, Pageable pageable);그런데 이렇게 하다보니 product가 아닌 item으로 페이징이 되는 것을 알았습니다. 이에 두 가지로 대책을 세웠는데 어떻게 해야할지 모르겠습니다. 1) 응용계층에서 item에 대한 정보를 불러오는 item서비스 호출 + 위 item에 해당되는 product 리스트 정보들을 paging 하여 불러오는 페이징하여 불러오는 product서비스 호출 2) product를 메인으로 item과 n:1 패치조인하는 메소드를 productRepository에서 생성. 1번 방법이 맞는 것 같지만,, paging으로 데이터를 불러올 때마다 item쿼리를 한번씩 날려야하는게 비효율적인거 같기도하고,, 2번으로 하자니... 제가 구현하고자 하는 기능과는 뭔가 다르게 개발하는거 같아 꺼림직 합니다.(item 중심의 조회 기능이 아닌 product기준의 조회) 긴글 읽어주셔서 감사합니다... 어떤식으로 구현하는게 맞는 방법일까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepository 인터페이스 설계 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]입문이나 기본편에서는 인터페이스를 만들어서 확장을 염두에 두었는데 JPA는 인터페이스 기반 설계를 못하는 건가요?? 아니면 일부로 안 하신건가여
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
msa 환경에서 브로드캐스트는 어떻게 이루어지나요?
학습중 궁금한 것은 언제든 문의 하세요.질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다.추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다.선생님 좋은 강의 감사합니다. 강의 재밌게 듣고 있습니다.브로드캐스트활용해서 채팅(실시간 알림)기능 구현 강의 듣던 중 궁금한게 생겼는데요그 전 강의에서 8080 8081 두개 서버 띄어놓고 라운드로빈으로 분배되는 것 설명하셨을 때 처럼 두개 띄어놓고 8080 8081 각각의 웹소켓으로 메세지 전송했는데 각각의 서버 별로 별도로 브로드캐스팅이 되는 것 같더라고요. 전체로 브로드캐스팅 하려면 보통 어떤 식으로 구현하나요?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
첨부pdf 코드블럭 글자 수 넘어가면 짤리는 것 같아요
학습중 궁금한 것은 언제든 문의 하세요.질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다.추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다. 첫 pdf 에서docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 이부분 뒤에 짤렸고짤린 부분 다른 파일도 더 있는 것 같아요
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
댓글 목록 조회 - 튜플 비교 시 쿼리 성능 저하
안녕하세요, 먼저 소중한 강의 만들어주셔서 너무 감사드립니다! 🙏🏻 댓글 목록 조회 쿼리에서 궁금한 점이 있어 질문드립니다.( 댓글 최대 2 depth - 목록 API 설계 7:19 부분 ) 질문"튜플 비교 (a, b) > (x, y)를 사용하면 인덱스 풀 스캔이 발생하여 성능이 매우 떨어지는데, 명시적 조건 a > x OR (a = x AND b > y) 으로 분리하면 인덱스 레인지 스캔이 발생하여 쿼리 성능이 매우 빨라지는데 왜 그런 것일지 모르겠습니다.." 질문 상세테스트 환경: comment 에 약 8백만건의 테스트 데이터 삽입mysql base image: mysql:8.0.38comment table ddl-- auto-generated definition create table comment ( comment_id bigint not null primary key, content varchar(3000) not null, article_id bigint not null, parent_comment_id bigint not null, writer_id bigint not null, is_deleted tinyint(1) not null, created_at datetime not null ); create index idx_article_id_parent_comment_id_comment_id on comment (article_id, parent_comment_id, comment_id); 문제가 되는 테스트 케이스 (1: slow, 2: fast)case 1. tuple comparision (slow)explain analyze select comment.comment_id, comment.parent_comment_id, comment.content, comment.article_id, comment.writer_id, comment.content, comment.is_deleted, comment.created_at from comment where article_id = 1 and (parent_comment_id, comment_id) > (142539921307124354, 142539921307124350) order by parent_comment_id, comment_id limit 30; -- -> Limit: 30 row(s) (cost=542979 rows=30) (actual time=8620..8620 rows=30 loops=1) -> Filter: ((`comment`.comment_id,`comment`.parent_comment_id) > (142539921307124354,142539921307124350)) (cost=542979 rows=4.01e+6) (actual time=8620..8620 rows=30 loops=1) -> Index lookup on comment using idx_article_id_parent_comment_id_comment_id (article_id=1) (cost=542979 rows=4.01e+6) (actual time=1.83..8251 rows=8e+6 loops=1) case 2. fastexplain analyze select comment.comment_id, comment.parent_comment_id, comment.content, comment.article_id, comment.writer_id, comment.content, comment.is_deleted, comment.created_at from comment where article_id = 1 and ( parent_comment_id > 142539921307124354 or (parent_comment_id = 142539921307124354 and comment_id > 142539921307124350) ) order by parent_comment_id, comment_id limit 30; -- -> Limit: 30 row(s) (cost=416 rows=30) (actual time=0.252..0.727 rows=30 loops=1) -> Index range scan on comment using idx_article_id_parent_comment_id_comment_id over (article_id = 1 AND parent_comment_id = 142539921307124354 AND 142539921307124350 < comment_id) OR (article_id = 1 AND 142539921307124354 < parent_comment_id), with index condition: ((`comment`.article_id = 1) and ((`comment`.parent_comment_id > 142539921307124354) or ((`comment`.parent_comment_id = 142539921307124354) and (`comment`.comment_id > 142539921307124350)))) (cost=416 rows=358) (actual time=0.232..0.705 rows=30 loops=1) 튜플 비교를 사용한 1번 쿼리에서는 index full scan 이 발생하여 ( 8백만개의 row 를 모두 스캔 ) 8초의 안좋은 쿼리 성능이 나타난 것으로 판단했습니다. 반면 튜플 비교를 명시적 조건으로 분리한 2번 쿼리에서는,(a > X OR (a = X AND b > Y)))index range scan 을 통해 0.7초 이하의 빠른 쿼리 성능이 나타난 것 같아요.요약튜플 비교 (a, b) > (x, y)를 사용한 1번 쿼리에서 MySQL 옵티마이저는 왜 풀 인덱스 스캔을 선택하는 것인지,튜플 비교가 인덱스 레인지 스캔으로 최적화되지 않는 이유가 무엇인지 원인을 찾고 있는데 잘 모르겠네요.. 힌트를 받을 수 있을까요? 새해복 많이 받으세요!
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
Run | Debug 표시 자체가 안떠서, MallApplication.java 파일을 실행조차 못시키겠는데, 도움말 좀 부탁드리겠습니다.
MallApplication.java 파일을, vsc에서 어떻게 실행시키는지 자세하게 좀 알려 주세요.
-
해결됨실전 jOOQ! Type Safe SQL with Java
DB 벤더별 내장함수에 대한 방언 지원 듣고 질문드려요
postgresql 할때는 dsl을 사용안하는데 그런 이유가있을까요?mysql에서는 MYSQLDSL.GROUPCONNECAT 이렇게했는데POSTGRESQL에서는 dsl을 사용안하는것같아서왜그러는지 궁금합니다
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Hibernate5JakartaModule 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]build.gradle에 Hibernate5JakartaModule을 잘 등록하여 라이브러리 목록도 확인했습니다. 그런데 이렇게 오류가 뜹니다ㅠㅠ빨간 줄에는 "Cannot return a value from a method with void result type" 라고 뜨는데 이유가 뭘까요..ㅠㅠ
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
H2 콘솔에 접속했을 때 테이블
강의따라서 H2접속하면 자동으로 BOOK, FRUIT, PERSON, USER, USER_LOAN_HISTORY 테이블이 있는데 어떻게 자동으로 만들어져 있는 건가요.?? mysql에서 테이블 만들었는데 h2는 mysql과 다른거 아닌가요..? 기존의 자바 entity 코드를 다 읽어서 얘네가 알고있는건가요???ps. 강의 너무 잘듣고 있습니다! 이때까지 완강해본 강의가 손에꼽는데 완강을 앞두고 있어서 너무 설레는 맘입니다..! 좋은 강의 만들어주셔서 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
hibernate 라이브러리 추가 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]여기에 질문 내용을 남겨주세요.spring.datasource.username=sa를 추가하였고, javax를 jakarta로 변경하였는데도 오류가 납니다.external libraries에 hibernate를 검색해도 나오지 않습니다.틀린부분 알려주시면 감사하겠습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
게시글 CRUD 테스트 할떄 발생하는 500 오류
게시글 CRUD API 구현 테스트 하는 부분에서 13:34쯤에 작성하고 테스트 실행하는 부분에서 아래 오류가 발생하는데 원인이 도대체 뭐일까여..ㅠㅠ 포트 9000에 서버 시작도 해놨었습니다500 Internal Server Error: "{"timestamp":"2025-01-27T06:39:44.186+00:00","status":500,"error":"Internal Server Error","path":"/v1/articles"}"org.springframework.web.client.HttpServerErrorException$InternalServerError: 500 Internal Server Error: "{"timestamp":"2025-01-27T06:39:44.186+00:00","status":500,"error":"Internal Server Error","path":"/v1/articles"}" at org.springframework.web.client.HttpServerErrorException.create(HttpServerErrorException.java:102)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 console 실행, cmd 실행 차이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 윈도우로 h2 console을 진행해서 h2를 켜는 것과, cmd를 이용해서 h2.bat으로 h2를 켜는 것의 차이가 있을까요?
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradlew build 오류 해결완료!
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]저는 윈도우10이고 인텔리제이 터미널에서가 아닌 윈도우 cmd에서 오류가 발생했을 때 해결했습니다!gradlew까진 됐는데, gradlew build 했을 때 저랑 같은 오류인 경우 참고하심 좋을 것 같아요1. 프로젝트 생성 할 때 OneDrive 말고 내 PC -> 사용자 -> 내 계정이름(공용x) -> 여기에 study폴더 생성 후 압축 여기에 풀기C:\Users\사용자이름\OneDrive\바탕 화면\study <- 가 아니라C:\Users\사용자이름 에 study폴더를 만들어서, C:\Users\사용자이름\study 여기 안에 hello-spring 넣기----물론 사용자이름은 영어로 설정----2. build.gradle 잘 선택했는지 확인 (<- 저는 gradle 잘못 선택했었어요)여기서도 경로가 OneDrive인지 확인!3. 윈도우 cmd보시는 것처럼 onedrive가 아닌 저 경로에서 cd study -> cd spring-hello를 하고, (강의에서 ll은 윈도우에선 dir)hello-spring 안에 들어가셔서 gradlew를 진행했고, 그 후 gradlew build를 했더니 드디어 성공,,! (윈도우는./ gradlew build가 아닌, 그냥 gradlew, gradlew build)4. java -jar 오류!저기 hello-spring 파일이 2개가 있는데 그 중에서 -plain말고 밑에 걸 선택하시면 됩니다.gradlew build 후에 libs에 가셔서java -jar hello-spring-0.0.1-SNAPSHOT.jar을 진행했는데오류가 떠서 gpt에 물어봤더니 현재 쓰고 있는 자바 버전이 너무 낮아서 안된다고 하네요.cmd에서 java -version해서 봤더니 1.8로 돼있었음... 다른 강의에서 1.8로 설정한 거라 몰랐네요ㅜㅜ그래서 환경변수에 시스템 변수에 있는 Path를 1.8로 되있는 걸 삭제하고 jdk 21이 경로로 설정해주고 가장 위로 올려줬습니다.그 후에 cmd 껏다 키고, libs파일까지 들어간 후에 java -jar hello-spring-0.0.1-SNAPSHOT.jar 을 해주면?Spring 너무 반갑쓰,,,ㅠㅠ (종료하실 땐 컨트롤 + C)정리하자면1. OneDrive 안에 있는지 확인.2. build.gradle 잘 선택했는지 확인.3. 환경변수 Path 자바 버전 확인!이 글을 쓰는 것까지 8시간에 걸쳐 오류 해결과 해결 과정 작성을 마무리 합니다ㅠ너무 두서없이 썼을 수도 있지만 같은 상황이시라면 최대한 도움 되셨음 좋겠네요. 다들 열공하십쇼!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요. 실무에서 JPA 사용법
안녕하세요. 강의 잘 수강하고 있습니다. 현재 회사에서 MyBatis를 주로 사용하고 있습니다. 제가 JPA에 대한 실무 경험이 없다보니 실무에서는 어떻게 JPA를 사용하는지 궁금하여 질문을 드렸습니다. 질문제가 생각할 때 이번 프로젝트는 복잡한 부분이 없어서 단순히 연관 관계가 필요 없다고 생각하는데 복잡한 실무에서 연관관계를 사용하는지 유무가 궁금하다. (상황마다 다르겠지만 일반론 기준) 거의 모든 Repository에서 네이티브 쿼리를 사용을 하였는데 실무에서 native Query를 많이 사용하는지 궁금하며 QueryDsl은 실무에서 어떤 방식으로 사용하는 궁금합니다. ( 크게 런타임 타입 체킹이 필요가 없다면 거의 다 native Query로 풀 수 있을거 같은데 QueryDSL을 사용한 경험을 듣고 싶습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
혹시 26분 30초 경에 대해서 추가적인 강의 찍으실 예정이실까요??
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.너무너무 흥미진진하게 보고 있었는데, 이 내용이 꼭 좀 있으면 좋겠습니다...!ㅠ 테이블을 분리한다면 테이블의 명칭은 각각 어떻게 네이밍 되는지.. 게시글이 1년 단위로 테이블이 분리된다고 했을떄, 테이블을 동적으로 생성하는 어떤 전략이 있는지.. (아니면 직접 1년 지날때마나 만드는 것인지) 등등.. 사소한 것부터 궁금한 것이 너무 많아서요...!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
COUNT 테이블 Lock 관련 문의
안녕하세요.우선 니즈에 맞는 좋은 강의를 찾아서 기분이 좋네요. 감사합니다.게시글 , 댓글 , 좋아요 수 를 따로 테이블을 만들어 관리한다는 것은 처음 알게되었고 좋은 방법이라고 생각합니다.강의에서는 비관적 락, 낙관적 락을 이용해서 동시성 문제를 해결하셨는데, 실무에서도 COUNT 테이블에 비관적 락, 낙관적 락을 많이 사용하나요 ?대규모 트래픽에서는 성능 문제로 비관적 락을 잘 사용하지 않을 것 같았거든요.낙관적 락을 사용하기에는 충돌이 많을 것 같구요.(그저 제 상상입니다. ㅎㅎ;) 의견 부탁드립니다.감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
p6spy 로그가 안찍힙니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 p6spy를 적용을 시도했는데 로그 출력이 되지 않아서 해결해보려다 실패하고 도움을 요청드립니다. 아래와 같이 코드들을 작성했습니다. > Task :compileJava UP-TO-DATE> Task :processResources> Task :classes> Task :compileTestJava UP-TO-DATE> Task :processTestResources NO-SOURCE> Task :testClasses UP-TO-DATE19:25:53.967 [Test worker] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils -- Could not detect default configuration classes for test class [jpabook.jpashop.MemberRepositoryTest]: MemberRepositoryTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.19:25:54.333 [Test worker] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper -- Found @SpringBootConfiguration jpabook.jpashop.JpashopApplication for test class jpabook.jpashop.MemberRepositoryTest19:25:55.119 [Test worker] INFO org.springframework.boot.devtools.restart.RestartApplicationListener -- Restart disabled due to context in which it is running. ____ _ __ _ _/\\ / ___'_ __ _ ()_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/ ___)| |_)| | | | | || (_| | ) ) ) )' |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot :: (v3.3.7)2025-01-26T19:25:55.869+09:00 INFO 18332 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Starting MemberRepositoryTest using Java 21.0.2 with PID 18332 (started by dldbs in C:\Users\dldbs\Desktop\Spring강의\spring boot, jpa활용\jpashop)2025-01-26T19:25:55.874+09:00 INFO 18332 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : No active profile set, falling back to 1 default profile: "default"2025-01-26T19:25:57.515+09:00 INFO 18332 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.2025-01-26T19:25:57.570+09:00 INFO 18332 --- [ Test worker] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 33 ms. Found 0 JPA repository interfaces.2025-01-26T19:25:58.728+09:00 INFO 18332 --- [ Test worker] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]2025-01-26T19:25:58.896+09:00 INFO 18332 --- [ Test worker] org.hibernate.Version : HHH000412: Hibernate ORM core version 6.5.3.Final2025-01-26T19:25:58.990+09:00 INFO 18332 --- [ Test worker] o.h.c.internal.RegionFactoryInitiator : HHH000026: Second-level cache disabled2025-01-26T19:25:59.885+09:00 INFO 18332 --- [ Test worker] o.s.o.j.p.SpringPersistenceUnitInfo : No LoadTimeWeaver setup: ignoring JPA class transformer2025-01-26T19:25:59.974+09:00 INFO 18332 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...2025-01-26T19:26:00.168+09:00 INFO 18332 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/jpashop user=SA2025-01-26T19:26:00.172+09:00 INFO 18332 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.2025-01-26T19:26:02.325+09:00 INFO 18332 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration)2025-01-26T19:26:02.369+09:00 DEBUG 18332 --- [ Test worker] org.hibernate.SQL :drop table if exists member cascade2025-01-26T19:26:02.383+09:00 DEBUG 18332 --- [ Test worker] org.hibernate.SQL :drop sequence if exists member_seq2025-01-26T19:26:02.395+09:00 DEBUG 18332 --- [ Test worker] org.hibernate.SQL :create sequence member_seq start with 1 increment by 502025-01-26T19:26:02.401+09:00 DEBUG 18332 --- [ Test worker] org.hibernate.SQL :create table member (id bigint not null,username varchar(255),primary key (id))2025-01-26T19:26:02.413+09:00 INFO 18332 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'2025-01-26T19:26:02.844+09:00 WARN 18332 --- [ Test worker] 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 warning2025-01-26T19:26:02.911+09:00 INFO 18332 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]2025-01-26T19:26:03.730+09:00 INFO 18332 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 8.647 seconds (process running for 12.331)WARNING: A Java agent has been loaded dynamically (C:\Users\dldbs\.gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.19\154da3a65b4f4a909d3e5bdec55d1b2b4cbb6ce1\byte-buddy-agent-1.14.19.jar)WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warningWARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more informationWARNING: Dynamic loading of agents will be disallowed by default in a future release2025-01-26T19:26:04.981+09:00 DEBUG 18332 --- [ Test worker] org.hibernate.SQL :selectnext value for member_seq2025-01-26T19:26:05.235+09:00 DEBUG 18332 --- [ Test worker] org.hibernate.SQL :insertintomember(username, id)values(?, ?)2025-01-26T19:26:05.243+09:00 TRACE 18332 --- [ Test worker] org.hibernate.orm.jdbc.bind : binding parameter (1:VARCHAR) <- [memberA]2025-01-26T19:26:05.244+09:00 TRACE 18332 --- [ Test worker] org.hibernate.orm.jdbc.bind : binding parameter (2:BIGINT) <- [1]OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended2025-01-26T19:26:05.291+09:00 INFO 18332 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'2025-01-26T19:26:05.298+09:00 INFO 18332 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...2025-01-26T19:26:05.322+09:00 INFO 18332 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.> Task :testBUILD SUCCESSFUL in 15s4 actionable tasks: 2 executed, 2 up-to-date오후 7:26:05: Execution finished ':test --tests "jpabook.jpashop.MemberRepositoryTest.testMember"'.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
사이드 이펙트 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]MemberRepository에서 return member.getId();사이드 이펙트로 멤버를 저장하는 메서드이기 때문에 리턴값은 안 만들어도 되고다만, 나중에 멤버 조회할 때 ID 정도 있으면 간단하게 조회할 수 있기 때문에 리턴값 설정해둔 것으로 이해하면 될까요?