묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
인텔리제이에서 실행이 안됩니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. > Task :prepareKotlinBuildScriptModel UP-TO-DATECould not resolve: org.springframework.boot:spring-boot-starter-thymeleafCould not resolve: org.springframework.boot:spring-boot-starter-webCould not resolve: org.springframework.boot:spring-boot-starter-test[Incubating] Problems report is available at: file:///C:/hello-spring/build/reports/problems/problems-report.htmlDeprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.12.1/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD SUCCESSFUL in 1s이러한 오류가 떠ㅏ서 진행을 못하고 있습니다. 2일째 고생중인데 도와주세요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
기출문제나 모의고사
선생님 안녕하세요혹시강의 관련해서강의업데이트나 이전 기출, 모의고사처럼 문제가 더 업데이트될까요?문제모음 같이 해당문제지와 영상이 있으면 좋을 것 같아 여쭤봐요
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계가 아닌 단방향 연관관계일때도
안녕하세요.양방향 연관관계 일때만 연관관계의 주인 이라는 개념이 있는줄 알았는데, 양방향 연관관계 뿐만 아니라 단방향 연관관계에서도 연관관계의 주인이라는 개념이 있는건가요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
이거 맞아요?
이런식으로 서비스 밑의 폴더 이어 붙이기 하고 article 따로 service 따로 서버 실행할수 있게 되면 그게 msa 기본 구조 잡아가는 과정인가요?지금 막 우당탕탕 이렇게 저렇게 막 코드 붙여가면서 되는거 같기는 한데 뭐 하고 있는지 헷갈리고 어지러워요
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Spring Boot 프로젝트 세팅 2 강의 듣는데 따라 치기 너무 어렵
Spring Boot 프로젝트 세팅 2 강의 듣는데 따라 치기 너무 어렵
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
PK 전략에 관련해서 질문 드립니다!
안녕하세요. 만 1년된 작은 중소기업에서 일하고 있는 개발자입니다. 강의 잘 듣고 있습니다! 현재 회사에서는 오라클 데이터베이스를 사용하고 있고 최근 스프링부트와 JPA를 사용해서 프로젝트를 시작했고, 낡은 레거시 사업을 영위하는 업체라서 이게 회사의 첫 스프링부트 프로젝트입니다! 나름 새로운 기술스택을 제안했기에 가지는 부담감이 심한데요. 최근에 만든 거의 대부분의 프로젝트들은 단일 DB를 사용하고 있기 때문에 별다른 고민 없이 AutoIncrement를 선택했습니다. 오라클에서도 최신 버전에서는 잘 지원해주고 있고 DB 버전은 높았기 때문에 이에 익숙해서 JPA에서 지원하는 IDENTITY 전략을 사용해서 시스템을 만들었는데요. 현재 ID를 노출해야하는 상황이 생길 경우 이를 그대로 노출하고 있습니다. 다른 PK 전략을 사용하지 않고 보완할 수 있는 방법이 있을까요? 현재 떠오르는것은 외부로 노출할 때 컨트롤러에서 이를 해싱하거나 난수화를 하는 방법을 생각하고 있습니다. 감사합니다!
-
해결됨[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법
Gitlab 소스코드 접속이 안됩니다
안녕하세요 강의 1강에 있는 완성코드 접속 했는데 프론트 , 백 둘 다 아래처럼 404 page가 나옵니다확인 해주시면 감사하겠습니다
-
미해결자바 코딩테스트 - it 대기업 유제
cpu 스케줄링
package chapter3.sol5_cpu_스케줄링; import java.util.*; public class Solution { public int[] solution(int[][] tasks) { int[] answer = new int[tasks.length]; Queue<int[]> q = new PriorityQueue<>(Comparator.comparingInt((int[] a) -> a[1]).thenComparingInt(a -> a[0])); int[] ch = new int[tasks.length]; for (int s = 0, i = 0; ; s++) { for (int j = 0; j < tasks.length; j++) { if (tasks[j][0] <= s && ch[j] == 0) { q.offer(new int[] {j, tasks[j][1]}); ch[j] = 1; } } if (!q.isEmpty()) { int[] poll = q.poll(); answer[i++] = poll[0]; s += poll[1] - 1; } if (i == tasks.length) break; } return answer; } public static void main(String[] args) { Solution T = new Solution(); System.out.println(Arrays.toString(T.solution(new int[][] {{2, 3}, {1, 2}, {8, 2}, {3, 1}, {10, 2}}))); System.out.println(Arrays.toString(T.solution(new int[][] {{5, 2}, {7, 3}, {1, 3}, {1, 5}, {2, 2}, {1, 1}}))); System.out.println( Arrays.toString(T.solution(new int[][] {{1, 2}, {2, 3}, {1, 3}, {3, 3}, {8, 2}, {1, 5}, {2, 2}, {1, 1}}))); System.out.println(Arrays.toString(T.solution(new int[][] {{999, 1000}, {996, 1000}, {998, 1000}, {999, 7}}))); } } 안녕하세요 정답 코드가 아닌 이 코드도 가능한지 궁금합니다!
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요! 질문이 있습니다
안녕하세요. 강의 너무 잘 듣고 있습니다. 초장부터 이런식으로 질문드리는 거 안된다는 걸 잘알고 있지만 너무 죄송스럽게도 정말 도저히 모르겠는 부분이 있습니다.어차피 나중에 혼자 프로젝트도 진행해봐야 하니 저는 강의 자료가 아니고 직접 프로젝트를 만들어서 따라가보려고 start.io 페이지에서 만든 프로젝트를 인텔리제이에 불러오려고 했는데 빌드할 때 동기화 부분에서 실패합니다. 근데 이게 어떤 오류 메시지도 나오지 않고 저렇게 실패라고만 나와서 원인을 알기 어렵습니다. PC에 설치된 자바 버전 21로 3이상을 사용해야 하기 때문에 17이상으로 다시 설치했고 강의대로 따라했는데 혹시 강의 자료처럼 빌드가 완료되려면 강의 내용뿐만이 아니라 다른 설정이 더 필요한건가요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
4:30 스위치 문에 for문은 생략인가요
4:30 스위치 문 바로 위 for문은 생략하면 되는건지요?
-
해결됨[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법
[해결] 그누보드 설치시 DB 연결 실패
강의에서는 gnuboard DB를 3307로 사용하는데 host에 그냥 localhost만 쓸 경우 자꾸 3306으로 연결 되서 연결 실패하더라구요 다른 config 설정을 바꿔주어야 하나 엄청 찾다가.. host 부분에 localhost가 아닌 localhost:3307로 써주니 3307 port의 mysql로 접속되어 db 설치가 됩니다.다른 해결 방법이 있는진 모르겠지만.. 이 방법도 있으니 막히시는 분들 참고 하세요
-
해결됨[말 한마디로 뚝딱!] AI와 함께 나만의 수익화 웹사이트를 만드는 법
[해결] XAMPP mysql 실행 안되는 문제
안녕하세요 다른 분들 수강 공유 차원에서말씀드립니다. XAMPP 컨트롤에서 port 충돌이 났을때강의에서는 아래 화면 설정만 바꾸면 된다고 하시는데,실제로는 아래 my.ini에서 port도 바꿔주시고 실행해주셔야 에러가 나지 않습니다. 해당 강의 조금만 더 들으시면 저기도 수정해야한다고 해주시긴하는데, 중간에 막히시는 분들 계실것 같아서 공유드리니다.
-
미해결김영한의 실전 자바 - 중급 1편
중첩 클래스 4가지 중 실무에서 가장 많이 쓰이는건 뭘까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]중첩 클래스 4가지 중 실무에서 가장 많이 쓰이는건 뭘까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Transactional Outbox 테스트 시간대 5:25
현재 카프카를 종료하고 API로 2개의 데이터를 넣고 다시 카프카를 켰을 때, delete 가 동작하지 않습니다.이전에 카프카를 켜놓은 상태에서 API 2개의 데이터 생성하는 경우는 바로 delete쿼리가 날라갔는데, 지금의 경우 어떤 부분에서 동작하지 않는지 잘 모르겠습니다. 따라서 압축 파일의 outbox-message-relay에 적으신 코드랑도 비교해봤는데, 동일하게 나오고 있습니다.일단 카프카를 종료하면 다음과 같은 에러가 나오는데, 강사님과 동일한 에러인지 궁금합니다. bernate: insert into article (board_id,content,created_at,modified_at,title,writer_id,article_id) values (?,?,?,?,?,?,?) Hibernate: update board_article_count set article_count = article_count + 1 where board_id = ? Hibernate: select bac1_0.board_id,bac1_0.article_count from board_article_count bac1_0 where bac1_0.board_id=? 2025-02-22T14:21:16.536+09:00 INFO 32925 --- [kuke-board-article-service] [nio-9000-exec-5] k.b.c.outboxmessagerelay.MessageRelay : [MessageRelay.createOutbox] outboxEvent=OutboxEvent(outbox=Outbox(outboxId=151558979476971520, eventType=ARTICLE_CREATED, payload={"eventId":151558979474350080,"type":"ARTICLE_CREATED","payload":{"articleId":151558979451625472,"title":"hi","content":"my content","boardId":1,"writerId":1,"createdAt":[2025,2,22,14,21,16,530575000],"modifiedAt":[2025,2,22,14,21,16,530575000],"boardArticleCount":9}}, shardKey=4, createdAt=2025-02-22T14:21:16.536478)) Hibernate: select o1_0.outbox_id,o1_0.created_at,o1_0.event_type,o1_0.payload,o1_0.shard_key from outbox o1_0 where o1_0.outbox_id=? Hibernate: insert into outbox (created_at,event_type,payload,shard_key,outbox_id) values (?,?,?,?,?) 2025-02-22T14:21:16.694+09:00 INFO 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node 1 disconnected. 2025-02-22T14:21:16.694+09:00 WARN 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node 1 (localhost/127.0.0.1:9092) could not be established. Node may not be available. 2025-02-22T14:21:17.547+09:00 ERROR 32925 --- [kuke-board-article-service] [ mr-pub-event-3] k.b.c.outboxmessagerelay.MessageRelay : [MessageRelay.publishEvent] outboxEvent=Outbox(outboxId=151558979476971520, eventType=ARTICLE_CREATED, payload={"eventId":151558979474350080,"type":"ARTICLE_CREATED","payload":{"articleId":151558979451625472,"title":"hi","content":"my content","boardId":1,"writerId":1,"createdAt":[2025,2,22,14,21,16,530575000],"modifiedAt":[2025,2,22,14,21,16,530575000],"boardArticleCount":9}}, shardKey=4, createdAt=2025-02-22T14:21:16.536478) java.util.concurrent.TimeoutException: null at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960) ~[na:na] at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095) ~[na:na] at kuke.board.common.outboxmessagerelay.MessageRelay.publishEvent(MessageRelay.java:46) ~[main/:na] at kuke.board.common.outboxmessagerelay.MessageRelay.publishEvent(MessageRelay.java:37) ~[main/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:113) ~[spring-aop-6.1.11.jar:6.1.11] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] 2025-02-22T14:21:17.695+09:00 INFO 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node 1 disconnected. 2025-02-22T14:21:17.695+09:00 WARN 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node 1 (localhost/127.0.0.1:9092) could not be established. Node may not be available. 2025-02-22T14:21:18.697+09:00 INFO 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node 1 disconnected. 2025-02-22T14:21:18.697+09:00 WARN 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node 1 (localhost/127.0.0.1:9092) could not be established. Node may not be available. Hibernate: select a1_0.article_id,a1_0.board_id,a1_0.content,a1_0.created_at,a1_0.modified_at,a1_0.title,a1_0.writer_id from article a1_0 where a1_0.article_id=? Hibernate: insert into article (board_id,content,created_at,modified_at,title,writer_id,article_id) values (?,?,?,?,?,?,?) Hibernate: update board_article_count set article_count = article_count + 1 where board_id = ? Hibernate: select bac1_0.board_id,bac1_0.article_count from board_article_count bac1_0 where bac1_0.board_id=? 2025-02-22T14:21:19.531+09:00 INFO 32925 --- [kuke-board-article-service] [nio-9000-exec-7] k.b.c.outboxmessagerelay.MessageRelay : [MessageRelay.createOutbox] outboxEvent=OutboxEvent(outbox=Outbox(outboxId=151558992038912000, eventType=ARTICLE_CREATED, payload={"eventId":151558992036290560,"type":"ARTICLE_CREATED","payload":{"articleId":151558992013565952,"title":"hi","content":"my content","boardId":1,"writerId":1,"createdAt":[2025,2,22,14,21,19,525215000],"modifiedAt":[2025,2,22,14,21,19,525215000],"boardArticleCount":10}}, shardKey=4, createdAt=2025-02-22T14:21:19.531129)) Hibernate: select o1_0.outbox_id,o1_0.created_at,o1_0.event_type,o1_0.payload,o1_0.shard_key from outbox o1_0 where o1_0.outbox_id=? Hibernate: insert into outbox (created_at,event_type,payload,shard_key,outbox_id) values (?,?,?,?,?) 2025-02-22T14:21:19.699+09:00 INFO 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Node 1 disconnected. 2025-02-22T14:21:19.699+09:00 WARN 32925 --- [kuke-board-article-service] [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node 1 (localhost/127.0.0.1:9092) could not be established. Node may not be available. 2025-02-22T14:21:20.544+09:00 ERROR 32925 --- [kuke-board-article-service] [ mr-pub-event-4] k.b.c.outboxmessagerelay.MessageRelay : [MessageRelay.publishEvent] outboxEvent=Outbox(outboxId=151558992038912000, eventType=ARTICLE_CREATED, payload={"eventId":151558992036290560,"type":"ARTICLE_CREATED","payload":{"articleId":151558992013565952,"title":"hi","content":"my content","boardId":1,"writerId":1,"createdAt":[2025,2,22,14,21,19,525215000],"modifiedAt":[2025,2,22,14,21,19,525215000],"boardArticleCount":10}}, shardKey=4, createdAt=2025-02-22T14:21:19.531129) java.util.concurrent.TimeoutException: null at java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1960) ~[na:na] at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095) ~[na:na] at kuke.board.common.outboxmessagerelay.MessageRelay.publishEvent(MessageRelay.java:46) ~[main/:na] at kuke.board.common.outboxmessagerelay.MessageRelay.publishEvent(MessageRelay.java:37) ~[main/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:580) ~[na:na] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:354) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:768) ~[spring-aop-6.1.11.jar:6.1.11] at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:113) ~[spring-aop-6.1.11.jar:6.1.11] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na] at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na] 카프카 종료후 다시 연결해도 폴링은 되는ㄴ데 select만 하고 있고 기존에 outbox에 남아있는 2개의 데이터는 delete처리가 되지 않고 있습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]h2 데이터베이스 연결하기 위해 다음과 같이 했는데 오류가 발생하고 접근이 안됩니다.프로젝트 위치는 E:\study\jpashop 여기입니다.어떤 설정을 해줘야하나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티와 dto에 대해 궁금한점이 있습니다
안녕하세요!엔티티와 dto에 대해 궁금한점이 생겨 질문드립니다!강의를보면 엔티티에 연관관계메서드와 로직 등 관련된 메서드를 작성하셨는데요그리고 엔티티는 외부에 노출되면 안된다라고 언급하셨는데그렇다면 엔티티를 직접쓰는게아닌 DTO를 따로 작성해서 사용하는건가요?(1번의 질문이 맞는질문이라면)그럼 엔티티에 10개의 필드들이 있고, 각각 조회용으로 6개의 필드, 수정용으로 8개의 필드가 필요하다고 가정하면 DTO를 조회용과 수정용 두개를 만들어야할까요?이건 좀 번외인거같긴하지만.... 지금까지 공부하면서 엔티티에 빌더패턴을 적용해왔는데요. 외부에 엔티티가 노출되지않으려면 DTO를 써야하고, 그렇다면 엔티티에 빌더패턴을 써야하는게아니라 DTO에 빌더패턴을 써야하는걸까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
9분20초
9분 20초 isdisit이 숫자로 돼있을 때 트루라고 하셨는데 True는 잘못된거죠??
-
해결됨실전! Querydsl
Querydsl 설정과 검증 실패 제발 도와주세요....ㅠㅠ
package jpabook2.entity; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Hello { @Id @GeneratedValue private Long id; }plugins { id 'java' id 'org.springframework.boot' version '3.4.3' id 'io.spring.dependency-management' version '1.1.7' } group = 'jpabook2' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(23) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' //test 롬복 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor """com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta""" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') }package jpabook2.jpashop2; import com.querydsl.jpa.impl.JPAQueryFactory; import jakarta.persistence.EntityManager; import jpabook2.entity.Hello; import jpabook2.entity.QHello; 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.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.*; @SpringBootTest @Transactional class Jpashop2ApplicationTests { @Autowired EntityManager em; @Test void contextLoads() { Hello hello = new Hello(); em.persist(hello); JPAQueryFactory query = new JPAQueryFactory(em); QHello qHello = new QHello("h"); Hello result = query .selectFrom(qHello) .fetchOne(); Assertions.assertThat(result).isEqualTo(hello); } }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.3 WARNING: A Java agent has been loaded dynamically (C:\Users\USER\.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 warning WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information WARNING: Dynamic loading of agents will be disallowed by default in a future release Unable to locate persister: jpabook2.entity.Hello java.lang.IllegalArgumentException: Unable to locate persister: jpabook2.entity.Hello at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:764) at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:745) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:320) at jdk.proxy3/jdk.proxy3.$Proxy105.persist(Unknown Source) at jpabook2.jpashop2.Jpashop2ApplicationTests.contextLoads(Jpashop2ApplicationTests.java:25) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1597) at java.base/java.util.ArrayList.forEach(ArrayList.java:1597) Caused by: org.hibernate.UnknownEntityTypeException: Unable to locate persister: jpabook2.entity.Hello at org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl.getEntityDescriptor(MappingMetamodelImpl.java:395) at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1512) at org.hibernate.engine.internal.ForeignKeys.isTransient(ForeignKeys.java:315) at org.hibernate.event.internal.EntityState.getEntityState(EntityState.java:64) at org.hibernate.event.internal.DefaultPersistEventListener.entityState(DefaultPersistEventListener.java:114) at org.hibernate.event.internal.DefaultPersistEventListener.persist(DefaultPersistEventListener.java:87) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79) at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127) at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:761) ... 9 more Unable to locate persister: jpabook2.entity.Hello org.hibernate.UnknownEntityTypeException: Unable to locate persister: jpabook2.entity.Hello at app//org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl.getEntityDescriptor(MappingMetamodelImpl.java:395) at app//org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1512) at app//org.hibernate.engine.internal.ForeignKeys.isTransient(ForeignKeys.java:315) at app//org.hibernate.event.internal.EntityState.getEntityState(EntityState.java:64) at app//org.hibernate.event.internal.DefaultPersistEventListener.entityState(DefaultPersistEventListener.java:114) at app//org.hibernate.event.internal.DefaultPersistEventListener.persist(DefaultPersistEventListener.java:87) at app//org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:79) at app//org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55) at app//org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127) at app//org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:761) at app//org.hibernate.internal.SessionImpl.persist(SessionImpl.java:745) at java.base@23.0.1/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base@23.0.1/java.lang.reflect.Method.invoke(Method.java:580) at app//org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:320) at app/jdk.proxy3/jdk.proxy3.$Proxy105.persist(Unknown Source) at app//jpabook2.jpashop2.Jpashop2ApplicationTests.contextLoads(Jpashop2ApplicationTests.java:25) at java.base@23.0.1/java.lang.reflect.Method.invoke(Method.java:580) at java.base@23.0.1/java.util.ArrayList.forEach(ArrayList.java:1597) at java.base@23.0.1/java.util.ArrayList.forEach(ArrayList.java:1597) 작업 파일 구글 드라이브입니다.https://drive.google.com/file/d/18Qe7HzR8zWuy4KBJycRbtkXGed1LrQfl/view?usp=drive_link파일이름이 영상과 다른이유는 실습에서 querydsl 사용하기 위해서 다르게했습니다.persist 여기서 문제가 생기는거 같은데 해결 방법을 몰르겠습니다...제발 도와주세요 ㅠㅠ..
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
2시간동안 막혀있습니다. 도와주세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]여기에 질문 내용을 남겨주세요.localhost:8080에 접속은 되는데 회원가입누르고 이름적고 등록누르면 Whitelabel Error Page가 뜨고 회원 목록을 눌로도 Whitelabel Error Page가 뜹니다.. 뭐가 문제일까요? h2db도 정상적으로 실행이 되는데 회원가입에서 등록을 눌러도 db에 값이 저장되지 않네요
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
인덱스접근방식에 대해 질문 있습니다.
첫번째 수는 그대로 넣고for(int i = 1; i < arr.length -1; i++){ if (arr[i] < arr[i+1]) { // }}이런 식으로 했는데 출력은 똑같이 나오는데 오답이 떠서 왜 정답이 안되는지 모르겠어요어차피 마지막 인덱스는 마지막 인덱스 -1번째하고만 비교하면 되니까 상관없지 않나요??즉 마지막 인덱스 -1(i)보다 마지막 인덱스(i+1)이 크다면 출력에 넣고 아니면 출력에 안 넣고 이런 식으로 생각했는데 이게 틀린 답인가요?