inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

PagedModel or VIA_DTO WARN 문구

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. @GetMapping("/members") public Page<?> list(@PageableDefault(size = 5, sort = "id", direction = Sort.Direction.DESC) Pageable pageable) { return repository.findAll(pageable).map(MemberResponse::new); } 해당 코드에서 API를 호출했는데 Serializing PageImpl instances as-is is not supported, meaning that there is no guarantee about the stability of the resulting JSON structure! For a stable JSON structure, please use Spring Data's PagedModel (globally via @EnableSpringDataWebSupport(pageSerializationMode = VIA_DTO)) or Spring HATEOAS and Spring Data's PagedResourcesAssembler as documented in https://docs.spring.io/spring-data/commons/reference/repositories/core-extensions.html#core. 이러한WARN 문구가 출력되었습니다. 이는 PageImpl의 객체가 그대로 JSON으로 직렬화되어 구조적인 문제가 발생할 수 있다는 경고 메세지 인데 이를 해결하기 위해서는 HATEOAS 의존성을 주입받아서 PagedModel을 반환하는 방법이 있고 spring.data .web.pageable.serialization-mode=via-dto 해당 코드를 yml 파일에 추가해서 글로벌 설정으로 가져가는 방법이 있고 @EnableSpringDataWebSupport(pageSerializationMode = VIA_DTO)) 방법이 있다고 합니다. 강사님 영상에는 해당WARN 문구가 보이지 않는데 그 이유는 버전의 문제때문에 강사님 영상에는 해당 WARN 문구가 보이지 않는게 싶습니다. 제가 가장 궁금한 것은 물론 프로젝트의 비즈니스에 따라 다르겠지만 위의 방법들중 어떤 방법이 가장 보편적으로 쓰이나 궁금합니다

  • java
  • spring
  • spring-boot
  • jpa
service 댓글 1 좋아요 0 조회수 267

다운로드가 안됩니다

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

파일을 몇번을 다시 다운받아도 실행이 안되고 오류만 뜨는데 어떻게 해야하나요..

  • java
  • 객체지향
jihye10226 댓글 2 좋아요 0 조회수 176

스레드 관련해서 질문이 있습니다.

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM

조금 동 떨어진 질문일 수 있지만, 궁금증이 해소가 되지 않아 질문드립니다. 자바 애플리케이션에서 Thread를 생성해서 실행을 하게될 때, 총 3개의 스택영역을 거쳐야 된다고 생각을 하는데 맞을까요? 우선 런타임 데이터 영역 유저스레드의 스택영역 JVM 내부 스레드의 스택 영역 운영체제 커널 스레드의 스택 영역 각각을 이렇게 정리해봤습니다. 1. 유저 스레드의 스택 영역 - 자바에서 Thread객체를 생성하고 실행하면, JVM은 해당 스레드마다 스택 영역을 생성한다. - 이 스택영역은 바이트코드에서 메서드 호출하고 실행할 때 필요한 데이터를 관리한다. - 유저 스레드이고, 애플리케이션의 비지니스 로직을 수행하는 스레드이다. 2. JVM 내부 스레드의 스택 영역 - 클래스로더, GC, JIT와 같은 JVM내부 작업을 수행하는 스레드는 JVM 내에서 관리되는 스레드이다. - 이 스택 영역은 JVM코드에서 메서드 호출하고 실행할 때 필요한 데이터를 관리한다. - 유저 스레드이고, JVM의 핵심 작업을 수행하는 스레드이다. 3. 운영체제 커널 스레드의 스택 영역 - 커널 스레드는 실제 CPU에서 실행되는 스레드이다. - 유저 스레드의 실행을 처리하기 위해 유저 모드에서 작업을 처리하다가, 시스템 호출이 필요할 때 커널 모드로 전환되어 커널 스레드가 실제로 시스템 자원에 접근하고 작업을 처리한다. - 커널에서는 커널 스레드의 TCB를 관리하여 각 스레드의 실행 상태를 추적한다. - 이 스택 영역은 커널에서 수행하는 메서드에 필요한 데이터를 관리한다.

  • java
  • 객체지향
  • jvm
  • data-structure
김민정 댓글 1 좋아요 0 조회수 212

itemList에 moive, album 정보 나타내는 법

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 내용] Book 외에 Album, Moive도 구현하려고 합니다. 예제의 itemList.html에는 추상 클래스 Item에 정의된 속성들만 표시되도록 되어있는데요. Item이 Book인 경우에는 author, isbn이 Album인 경우에는 artist, etc 등이 같이 표시되도록 하려면 어떻게 구현하는 것이 가장 좋은 방법일까요? 타임리프에서 Item의 클래스를 체크한 후(instance of 와 유사) 다운캐스팅해서 각각의 타입에만 해당하는 내용을 출력하는 방식으로 구현하고, href도 "items/{id}/edit"을 수정해서 "items/{id}/book-edit", "items/{id}/album-edit"과 같은 식으로 하는게 맞는 방법인가요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
양현우 댓글 1 좋아요 0 조회수 112

repository 인터페이스에 vo전달 방법

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 실무를 하는데 궁금한게 있어 질문 남깁니다. repository 인터페이스에 생성된 메소드를 실행하는데 string으로 파라미터 값을 보내주는 예제를 보여주셨는데, 혹시 vo를 바로 보내줄수도 있을까요? 가능하다면 어떤 형식으로 가능할지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
김홍규 댓글 1 좋아요 0 조회수 114

버전으로 인한 오류

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니요 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 스프링 입문 강의 수강 중 문의드리고 싶어 글을 남깁니다. 강사님 말씀대로 hellospringapplication을 실행하니 붉은 색 글씨로 아래 문구처럼 출력됩니다. 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 (/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 OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 자바는 openjdk oracle 23.0.1을 사용 중이고, gradle jvm도 oracle openjdk 23 버전을 사용 중입니다. 제공해주신 다른 답변들을 확인하여 자바 버전을 17로 다운그레이드 하려 했는데 project structure에서 17 버전을 선택하니 amazon corretto가 선택되었습니다. 오라클 17 버전은 따로 뜨지가 않더라고요.. 오라클 버전 외 다른 17 버전을 선택하고 gradle jvm도 조정하면 해결될까요, 아니면 다른 방법이 있을까요 ? 양질의 컨텐츠 제공해주셔서 항상 감사드립니다.

  • java
  • spring
  • mvc
  • spring-boot
wonderwall09in 댓글 2 좋아요 3 조회수 1740

큰수출력하기

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 이코드는 왜 틀리나요?? outofindex 문제도 발생하지 않는데 어느 부분이 틀린 건가요? 감사합니다!

  • java
  • 코딩-테스트
제비꼬리 댓글 1 좋아요 0 조회수 117

프록시 객체, 프록시 객체의 준영속화에 대한 질문입니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 프록시 객체와 프록시 객체의 준영속화에 대한 내용이 제가 이해한게 맞을까요? Member refMember = em.getReference(Member.class, 1L); 로 가져온 Member 프록시 객체는 1차 캐싱에 저장되어있음. 프록시 객체는 실제 Member 엔티티를 상속받아 Member 객체가 가진 메소드들을 가지고있고, null 상태인 실제 Member 객체를 필드로 가지고 있음. Member 프록시 객체 내부의 메소드를 호출하면 그 때 영속성 컨텍스트에 진짜 엔티티(키 값이 1L인)를 호출해달라고 요청하고 DB에서 가져와서 실제 엔티티를 1차 캐시에 캐싱 하고 프록시 객체 내부의 null 상태인 Member 객체 가져온 엔티티로 초기화. 준영속 상태일 때 프록시를 초기화 하면 왜 예외가 발생 결국 실제 DB에서 조회해온 엔티티는 1차 캐시에 캐싱되어 영속화 된 상태인데 프록시 객체를 준 영속화하면 캐시는 비워지고 프록시의 Member 필드가 참조하는 실제 엔티티도 없어지기 때문에 프록시가 참조할 곳이없어서 예외 발생. 2번의 경우 1번이 맞다는 전제하에 생각한 로직입니다. 만약 맞다면 프록시를 준영속 상태로 만들 때(em.detach()) 어떻게 프록시만 준영속화 했는데 1차 캐싱에 실제 엔티티도 지워지게 되는건가요??

  • java
  • jpa
윤창호 댓글 1 좋아요 0 조회수 169

인터럽트-시작2, 인터럽트 상태 질문이요

해결됨

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 영한님 코드에서 인터럽트 상태가 true이었다가 false로 바뀌는것을 확인하였습니다. 근데, 여기서 문제가 발생합니다. 저가 똑같이 코드를 만들어 밨고 그랬지만 화면 처럼 인터럽트 상태 2개 전부다 false가 나오는 경우가 발생합니다.(7번-8번 돌리면 한번 꼴로 나오는 것 같더라고요.) 그래서 저의 코드가 문제가 있는가 보여서 pdf에 있는 코드를 붙여놓기, 하여도 동일한 결과가 가끔씩 나옵니다. (빨리 돌리기 위해서 sleep 시간은 조정함.) 저의 컴퓨터가 문제가 있는 건가? 이런 생각도 하게 되는데,모르겠네요. 그래서 여쭈어 봅니다. 혹 저만 이런 결과가 나오는 건지?, 아니면 다른 분들 컴퓨터에서도 이런 결과가 나오는 건지 알고 싶네요. 추가1 여러번 코드 치고 돌린거 아닙니다. 맨처음 코드 실행했는데, 둘다false가 나와서, 당황해서 여러번 돌리게 되었습니다. 답변 부탁 드립니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
생각하는자 댓글 1 좋아요 1 조회수 253

재고수량초과 테스트 오류

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의에서 나오는데로 orderCount를 11로 하면 need more stock jpabook.jpashop.exception.NotEnoughStockException: need more stock at jpabook.jpashop.domain.item.Item.removeStock(Item.java:43) at jpabook.jpashop.domain.OrderItem.createOrderItem(OrderItem.java:44) at jpabook.jpashop.service.OrderService.order(OrderService.java:38) 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.aop.support .AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:727) at jpabook.jpashop.service.OrderService$$SpringCGLIB$$0.order(<generated>) at jpabook.jpashop.service.OrderServiceTest.상품주문_재고수량초과(OrderServiceTest.java:56) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:76) at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84) at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75) at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86) at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191) OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 2024-12-22T17:33:07.127+09:00 INFO 5250 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2024-12-22T17:33:07.128+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists category cascade 2024-12-22T17:33:07.129+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387129 | took 1ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop table if exists category cascade drop table if exists category cascade ; 2024-12-22T17:33:07.129+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists category_item cascade 2024-12-22T17:33:07.130+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387130 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop table if exists category_item cascade drop table if exists category_item cascade ; 2024-12-22T17:33:07.130+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists delivery cascade 2024-12-22T17:33:07.130+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387130 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop table if exists delivery cascade drop table if exists delivery cascade ; 2024-12-22T17:33:07.130+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists item cascade 2024-12-22T17:33:07.131+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387131 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop table if exists item cascade drop table if exists item cascade ; 2024-12-22T17:33:07.131+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists member cascade 2024-12-22T17:33:07.131+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387131 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop table if exists member cascade drop table if exists member cascade ; 2024-12-22T17:33:07.131+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists order_item cascade 2024-12-22T17:33:07.131+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387131 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop table if exists order_item cascade drop table if exists order_item cascade ; 2024-12-22T17:33:07.131+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop table if exists orders cascade 2024-12-22T17:33:07.132+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387132 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop table if exists orders cascade drop table if exists orders cascade ; 2024-12-22T17:33:07.132+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists category_seq 2024-12-22T17:33:07.132+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387132 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop sequence if exists category_seq drop sequence if exists category_seq; 2024-12-22T17:33:07.132+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists delivery_seq 2024-12-22T17:33:07.132+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387132 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop sequence if exists delivery_seq drop sequence if exists delivery_seq; 2024-12-22T17:33:07.132+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists item_seq 2024-12-22T17:33:07.133+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387133 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop sequence if exists item_seq drop sequence if exists item_seq; 2024-12-22T17:33:07.133+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists member_seq 2024-12-22T17:33:07.133+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387133 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop sequence if exists member_seq drop sequence if exists member_seq; 2024-12-22T17:33:07.133+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists order_item_seq 2024-12-22T17:33:07.133+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387133 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop sequence if exists order_item_seq drop sequence if exists order_item_seq; 2024-12-22T17:33:07.133+09:00 DEBUG 5250 --- [ionShutdownHook] org.hibernate.SQL : drop sequence if exists orders_seq 2024-12-22T17:33:07.133+09:00 INFO 5250 --- [ionShutdownHook] p6spy : #1734856387133 | took 0ms | statement | connection 14| url jdbc:h2:mem:3e9d99ac-3e6a-493e-ba08-cc03d272eaed drop sequence if exists orders_seq drop sequence if exists orders_seq; 2024-12-22T17:33:07.135+09:00 INFO 5250 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2024-12-22T17:33:07.137+09:00 INFO 5250 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. > Task :test FAILED OrderServiceTest > 상품주문_재고수량초과 FAILED jpabook.jpashop.exception.NotEnoughStockException at OrderServiceTest.java:56 1 test completed, 1 failed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///Users/iyeonseo/Downloads/jpashop/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 4s 5 actionable tasks: 2 executed, 3 up-to-date 이런 에러가 뜹니다. 강의에서는 성공이 뜨는데 왜 이렇게 뜨는건가요

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
이연서 댓글 1 좋아요 0 조회수 215

파라미터가 이상해요

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

createQuery의 파라미터가 qlString이 없어요. package jpabook.jpashop.domain.repository; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import jpabook.jpashop.domain.Member; import org.springframework.stereotype.Repository; import도 jakarta인데 왜 안되는걸까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
이응이응 댓글 1 좋아요 0 조회수 73

이 문제 풀이 좀 보고싶은데 어디서 봐야할까요?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

(기출)2022년 3회 코드해석 문제 25초 C언어 문제 해설 보고싶은데 어디서 볼 수 있을까요?

  • python
  • java
  • c
  • 정보처리기사
김영선 댓글 2 좋아요 0 조회수 219

JPA 기본편 - 최신 버전으로 프로젝트 설정하기 JPA 버전 관련 문의

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 자바 ORM 표준 JPA 프로그래밍 기본편 7강 HelloJPA- 프로젝트 생성 강의를 수강한 후, JPA 기본편 - 최신 버전으로 프로젝트 설정하기 수업 자료 및 소스 코드를 보며 직접 maven 프로젝트를 생성하고 JPA연결하며 궁금한 점이 있어 문의 드립니다. 자바 버전 17 이상에서는 Hibernate 6.x 이상을 사용해야 하고, 이는 javax.persistence 네임스페이스가 jakarta.persistence 로 변경된 JPA 3.x 버전을 사용해야 한다고 이해했습니다. 그러나 강사님이 올려주신 프로젝트 설정에서는 JPA 2.2 와 jakarta.persistence 네임스페이스 가 혼합되어 사용되고 있습니다. JPA 2.2를 사용하는 경우 javax.persistence 네임스페이스를 사용해야 하지 않나요? 만약 jakarta.persistence 를 사용한다면 이는 JPA 3.1로의 전환을 의미해야 하는 것 아닌가요? 혹시 강사님이 JPA 2.2를 유지하면서 jakarta 를 사용한 이유가 Hibernate 6.x의 호환성 때문인지, 아니면 특별한 이유가 있는지 궁금합니다.

  • java
  • jpa
김재원 댓글 1 좋아요 0 조회수 143

Item에서 Category가 Import되지 않아요

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
이연서 댓글 1 좋아요 0 조회수 91

OneToMany속의 ManyToOne 조회시 질문

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

OneToMany 관계에서 페치조인을 하게되면 페이징이 불가하다고 하셨는데 OneToMany는 batchSize를 조절하여 해결한뒤 OneToMany안의 ManyToOne 관계는 어떻게 페치조인 할수있을까요? 예를 들어서 테이블 A, B, C가 있을경우 A와 B는 OneToMany관계 B와 C는 ManyToOne관계 class A { @OneToMany private List<B> b = new ArrayList<>(); } class B { @ManyToOne // Lazy private A a; @ManyToOne // Lazy private C c; } class C { } A를 조회하고 C까지 끌고와야하는경우 A와 B는 OneToMany 관계이기 때문에 페치조인이 불가능하지만 B와 C는 페치조인이 가능하다고 이해하였습니다 BatchSize를 설정하여 A에서 B를 가져올시 IN 쿼리로 가져온뒤 B에서 C를 페치 조인하는 방법은 없나요? 아니면 이런경우 특수하게 B에서 C를 Eager로 설정 해야할까요 애초에 B를 통해서 A와 C를 가져와야할까요

  • java
  • spring
  • spring-boot
  • jpa
h0ch1 댓글 1 좋아요 1 조회수 180

memberrepositorytest 오류

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. could not prepare statement [Sequence "MEMBER_SEQ" not found; SQL statement: select next value for member_seq [90036-232]] [select next value for member_seq]; SQL [select next value for member_seq] org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement [Sequence "MEMBER_SEQ" not found; SQL statement: select next value for member_seq [90036-232]] [select next value for member_seq]; SQL [select next value for member_seq] at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:277) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:560) at org.springframework.dao.support .ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support .DataAccessUtils.translateIfNecessary(DataAccessUtils.java:343 ) 이런 에러가 납니다ㅠㅠ

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
이연서 댓글 1 좋아요 0 조회수 443

pg 파라미터가 이제는 없어진다고 하는데 업데이트 해주시나요?

미해결

[백엔드/예외처리 시나리오/집계 최적화] 백엔드 포트폴리오와 실무 이력 강화 전략. 올인원 PART1

pg 파라미터가 이제는 없어진다고 하는데 업데이트 해주시나요?

  • java
  • spring-boot
  • 포트폴리오
  • 기술면접
  • bulkinsert
kofk113 댓글 1 좋아요 0 조회수 231

cas 연산3 incrementAndGet 질문

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

안녕하세요? 강의 잘 듣고 있습니다. CAS 연산3에서 질문이 있는데요, 아래는 incrementAndGet을 학습용으로 만들어주신 메서드입니다. private static int incrementAndGet(AtomicInteger atomicInteger) { int getValue; boolean result; // 읽고 -> 읽은 값이 바뀌지 않았는지 확인하고 -> 업데이트 // [읽은 값이 바뀌지 않았는지 확인하고 -> 업데이트] 이 부분을 CAS 연산으로 보장 do{ getValue = atomicInteger.get(); log("getValue : " + getValue); sleep(100); // 스레드 동시 실행을 위해 잠시 대기 // 읽은 값이 그대로 있다면(벽경되지 않았다면) 내가 의도한 값을 넣어라! result = atomicInteger.compareAndSet(getValue, getValue+1); log("result: " + result); } while(!result); //compareAndSet이 실패했으면 계속 다시 해라 return getValue + 1; // atomicInteger.get() 하지 않는 이유 <- 그새 다른 스레드가 값을 변경할 수 있기 때문 } 이 코드에서 보면 값을 어플리케이션으로 가져와서 -> CAS연산을 시키고 충돌이 발생할 경우 재실행을 시키는데 애초부터 CPU한테 +1을 하는 것을 시키면 굳이 낙관적락을 적용할 필요가 없지 않나요? 굳이 어플리케이션으로 가져와서 검증을 하는 이유를 아무리 생각해봐도 잘 모르겠습니다. ㅠㅠ

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
김영빈 댓글 1 좋아요 1 조회수 235

프로젝트 생성 강의 관련 질문드립니다~

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 프로젝트 생성 강의 듣고나서 떠오르는 2가지 질문이 있어 글을 올려봅니다! 1) 먼저, 제가 start.spring.io 에선 자바 17버전으로 프로젝트를 시작했는데, 막상 main 메서드를 실행시켜서 스프링부트 애플리케이션을 띄울 때 콘솔에는 2024-12-19T20:15:54.366+09:00 INFO 38362 --- [hello-spring] [ main] h.hello_spring.HelloSpringApplication : Starting HelloSpringApplication using Java 21.0.5 with PID 38362 (/Users/.../Desktop/study/hello-spring/build/classes/java/main started by ... in /Users/.../Desktop/study/hello-spring) 이렇게 왜 자바 21.0.5버전을 사용하고 있다고 나올까요? 이미 제 맥북에 21버전 자바가 설치되어서 그런걸까요?? build.gradle에는 java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } 이렇게 17버전으로 올바르게 되어있긴 합니다! 2) 선생님께서 인텔리제이 Preferences > Gradle에서 Build and run using을 Gradle로 되어있는 걸 인텔리제이로 바꾸면 더 빠르게 실행할 수 있다고 하셨는데, 만약, Gradle (Default)로 설정된 경우 > 인텔리제이 화살표 버튼을 클릭했을 때 자바 소스 코드를 컴파일하고 빌드 과정을 포함해서 빌드를 진행하고 스프링부트 애플리케이션을 실행하고, IntelliJ IDEA로 설정된 경우 > 인텔리제이 화살표 버튼을 클릭했을 때 자바 소스 코드를 컴파일하고 빌드를 진행하지 않고 스프링부트 애플리케이션을 바로 실행하기 때문에 더 빠르게 실행된다고 하신걸까요??

  • java
  • spring
  • mvc
  • spring-boot
ajdsasld 댓글 1 좋아요 0 조회수 260

도메인 오브젝트 메소드 주입에 대해 질문있습니다. (의존성 관련)

미해결

토비의 스프링 6 - 이해와 원리

안녕하세요 토비님. 질문드리기 전 먼저 오랜만에 너무 즐겁게 공부하고 있어 감사하다는 말씀을 드리고 싶습니다! 질문은 다름이 아니라 '도메인 오브젝트 테스트' 편에서 마지막에 메소드로 ExProvider 를 주입하는 방식을 언급해 주셨는데, 이렇게 되면 Payment 가 ExProvider 에 의존하게 되는 것 같아서 고민이 되었습니다. Payment 는 도메인 오브젝트로서 순수하게 Payment 에 관련된 응집만 추구해야 할 것 같은데, 그걸 넘어서는 건 아닐까라는 생각도 들었고, Payment 테스트 시 ExPriovider 주입이 필요하게 되는 점도 걸렸습니다. 기존처럼 BigDecimal 을 받도록 의존성을 끊어주는 게 더 낫지는 않을지 고민이 됩니다. 비슷한 경험으로 이전에 SpringSecurity 의 PasswordEncoder 를 도메인 오브젝트에 메소드로 넘겨볼까 하다가 의존성을 생각해 포기하고 String으로 받았었는데, 이와 동일하지는 않겠지만 앞으로도 고민이 될 수 있는 부분인 것 같아 꼭 질문을 드리고 싶었습니다. 도메인 개념적으로 Payment 가 ExProvider 와 묶여있는 게 자연스럽다 생각하셔서 그렇게 설계하신 걸까 싶은데, 이에 대해 어떻게 생각하시는지 궁금합니다.

  • java
  • spring
nilgil 댓글 1 좋아요 3 조회수 514

인기 태그

인프런 TOP Writers

주간 인기글