inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

QuerryDSL은 JPA기술에서만 적용이 가능한가요? + 여러가지 질문이 있습니다.

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

JPA소개2 강의에서 여러 프로젝트의 DB관련 기술을 보면 QueryDSL을 사용한다고 설명해주셨는데 이전 다른 기술 강의에서도 queryDSL은 동적쿼리를 자동으로 생성해준다 라고 들었습니다. 마이바티스나 jdbc템플릿에서는 queryDSL을 사용하지 못하는건가요? + 그리고 프로젝트를 해보려고 하는데 jpa는 내용이 많은것 같아 MyBatis를 먼저 사용해서 프로젝트를 진행하고 추후에 영한님의 다른jpa강의 로드맵을 수강하면서 프로젝트를 수정해볼려고 생각중입니다. 그것과 관련된 질문으로 섹션8부터 있는 내용들을 일단 건너뛴 후 프로젝트를 진행하고 나서 나머지 섹션을 수강하고 로드맵의 스프링 로드맵의 핵심원리 고급편과 핵심원리 활용을 수강하여도 학습에 무리가 없을까요? 아니면 섹션 8내용은 일단 건너뛴 후 핵심원리 활용과 고급편을 수강은 일단 하는게 좋은가요?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
양치잘하기 댓글 1 좋아요 0 조회수 256

DROP 전략과 LATEST 전략의 차이점이 무엇인가요?

미해결

Kevin의 알기 쉬운 Spring Reactive Web Applications: Reactor 1부

안녕하세요. 수업 잘 듣고 있습니다~ 백프레셔 전략 중 DROP과 LATEST 전략은 결국 버퍼가 비워질 때까지 Publsiher에서 emit되는 데이터를 제거(drop or discard)하는 것으로 이해했습니다. 버퍼가 비어지는 시점 이후로 emit되는 데이터를 다시 버퍼에 채운다는 점에서 두 전략은 같은 것으로 보입니다. 차이점을 알려주시면 감사하겠습니다~

  • java
  • spring
  • project-reactor
  • webflux
막스 댓글 3 좋아요 3 조회수 680

'다대다' 속성 value 타입은 'Category'일 수 없습니다. 오류

미해결

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

안녕하세요 강의를 따라하던중 다음과 같은 오류가 발생합니다. 교안과도 같은 코드이고 인텔리제이도 껐다 켰는데 왜 이런 문제가 발생하는지 모르겠습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
skkud.inflearn1 댓글 1 좋아요 0 조회수 281

자바 컴파일 실행이 안 되서 질문 드립니다..

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

같은 패키지 내부에 Test.java 와 BusObject.java 가 있습니다. Test에서 BusObject객체를 만들어서 사용하는 것을 테스트하고자 하는데 다음과 같이 에러가 나옵니다. javac BusObject.java Test.java java BusObject.java Test.java (java BusObject Test 도 동일하게 안 됩니다ㅜㅜ) Error: Could not find or load main class week11.BusObject Caused by: java.lang.ClassNotFoundException: week11.BusObject 뭔가 문제인가요..? 지금까지 컴파일할때 week11.하고 패키지도 붙여보고, -classpath . 도 해봤습니다...

  • java
  • 객체지향
댓글 1 좋아요 0 조회수 208

장바구니 수량 변경 문의드립니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

장바구니 수량 변경 및 커스텀 훅 강의에서 장바구니 수량 +,- 버튼 클릭하면 장바구니의 수량이 동적으로 변경되더라구요. 그런데 저는 화면에 수량이 변경되지않네요. ajax 로 정상 처리 되고 장바구니 데이터도 정상적으로 받아 와서 새로고침 하면 수량이 변경된것을 확인은 할 수 있어요. 소스코드: React CH11 에서 코드를 비교했는데 다르지 않았습니다. 확인부탁드릴게요~

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
원데이 댓글 1 좋아요 0 조회수 233

실무에서 매핑 테이블은 어떻게 활용할 수 있을까요?

미해결

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

토이 프로젝트를 진행하던 중 궁금한 내용이 생겨서 질문 드립니다. 과거 Mybatis와 같은 것을 활용해 진행할 때는 코드 매핑 테이블에 코드값 (기본키)과 코드명 이렇게 있고 특정 테이블에서는 이러한 코드 값 키를 들고 있어 서브쿼리를 활용해 코드 명을 가져오는 방식으로 활용했습니다. JPA에서 위 구조를 활용하려면 특정 엔티티에 코드 엔티티를 넣고 서로 연관관계를 걸어 준 후에 fetch join으로 select 하는게 베스트 일까요?

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

Q타입 생성 확인 오류 질문입니다.

해결됨

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 내용] pdf 파일을 보며 강의 듣기전 예습을 하고 있습니다. build.gradle 파일에 Querydsl 관련 설정을 pdf파일에 나와 있는 대로 밑에와 같이 추가했습니다. //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa' annotationProcessor "com.querydsl:querydsl-apt:$ { dependencyManagement.importedProperties['querydsl.version'] } :jpa" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" (현재 저는 Gradle을 통해서 빌드중입니다) Gradle -> Tasks -> build -> clean 실행 시에는 문제가 없는데 Gradle -> Tasks -> other -> compileJava 실행 시에 Unable to load class 'javax.persistence.Entity'. This is an unexpected error. Please file a bug containing the idea.log file. 라는 오류가 뜹니다. 그래서 커뮤니티에 관련 질문들을 찾아 보았는데, build.gradle 파일에서 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" 로 바꿔보라고 하신 내용이 있어서 바꿔보았습니다. 그리고 gradle refresh를 눌렀을 때 오류가 발생했는데 지금은 되네요... pdf 파일 내용을 수정해주시면 감사하겠습니다!!

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
s2사랑해요s2김영한s2 댓글 2 좋아요 0 조회수 695

itemservice-db 프로젝트

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

controller가 없는데 Front만으로도 controller처럼 처리를 할 수 있는건가요? 아니면 이전에 memory에서 해서 모델에서 변환시켜줬어야 했는데, db를 이용하니까 model view controller가 다 필요없어진 건가요? items.html에서 이렇게 코드가 있는데 th:onclick="|location.href='@{/items/add}'|" 이게 addForm.html로 가는 건가요? 어디에서 변환이 되는건지 모르겠는데 관련 코드좀 찾아주실 수 있나요?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
jwhong1515 댓글 1 좋아요 0 조회수 180

실행 시 시퀸스 자동 생성

미해결

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

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 단방향 연관관계 강의 9:40에서 이전에 작성했던 시퀸스 모두 삭제하고 다시 작성해서 실행했는데 에러가 떠서 drop SEQUENCE MEMBER_SEQ;로 h2 디비에서 시퀸스를 지우고 다시 실행했습니다. 근데 왜 실행할 때 아래와 같이 각 테이블에 대한 시퀸스가 자동으로(1 increment by 50으로) 생성되는건가요? 강의에서는 1 increment by 1로 생성됩니다.

  • java
  • jpa
손혁 댓글 1 좋아요 0 조회수 253

주문조회 강제 초기화 질문

해결됨

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

@GetMapping("/api/v1/orders") public List<Order> ordersV1() { List<Order> all = orderRepository.findAll(); for (Order order : all) { order.getMember().getName(); //Lazy 강제 초기화 order.getDelivery().getAddress(); //Lazy 강제 초기화 List<OrderItem> orderItems = order.getOrderItems(); orderItems.stream().forEach(o -> o.getItem().getName()); //Lazy 강제 초기화 } return all; } 첫 질문 Lazy방식이기에 조인되어 있는 필드를 가져오지 못하기에 member와 delivery는 One이기 때문에 get으로 초기화 하고 orderItem은 Many이기 때문에 List형식으로 stream으로 초기화 하는걸로 이해해도 될까요? 강제 초기화를 하는 이유는 값을 넣어주기 위해..? 인가요..? 두번째 질문 orderItems.stream().forEach(o -> o.getItem().getName()); 이 부분 코드 제가 이해한게 맞는지 확인부탁드립니다. o(orderItems 컬렉션에서 하나하나)에서 getItem().getName()를 가져와서 반환할 것이다. 근데 getName(이름 가져오기)만 하는데 Item의 모든 api값을 가져오는것 같아서 질문드립니다.

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

동시성 처리 관련 스레드 풀 설정 질문

미해결

@Test @DisplayName("쿠폰 여러 명 발급") void 쿠폰_여러_명_발급() throws InterruptedException { int threadCount = 1000; ExecutorService executorService = Executors.newFixedThreadPool(32); CountDownLatch latch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { final int threadNumber = i + 1; Integer key = i; executorService.submit(() -> { try { couponService.issueCoupon(param, usersMap.get(key)); } catch (PessimisticLockingFailureException e) { .... } 쿠폰 발급 동시성 처리 관련해서 테스트 코드 작성 간 궁금한 점이 있어서 질문을 올립니다. 구글링해서 작성해봤는데, 제가 이해하는 게 맞나 싶어서요... Executors.newFixedThreadPool(32) 이렇게 설정해주면, 32 개의 고정된 스레드 풀을 생성한다는 것이고 1,000 명의 유저가 해당 스레드 풀이 나눠서 작업이 수행된다는 것인가요 ? 그러니까 하나의 스레드에서 약 31명의 유저를 담당한다는 뜻일까요 ? 아니면 순차적으로 1,000 명의 유저를 하나의 스레드에 한 명씩 배치하여 작업하는 것이고, 실질적으로 한 순간에 32명의 유저만 작업한다는 뜻일까요 ? ㅠㅠㅠ

  • java
  • spring
  • 멀티스레딩
  • 동시성제어
  • 동시성
오세창 댓글 1 좋아요 1 조회수 319

pinned 확인법

미해결

1시간만에 끝내는 virtual thread in spring boot

https://github.com/openjdk/jdk/pull/17221 이런 내용이 있네요. -Djdk.tracePinnedThreads 보다 JFR 을 권장하는 것 같습니다.

  • java
  • spring-boot
  • 동시성
  • thread
  • virtual-thread
adoda 댓글 3 좋아요 0 조회수 422

섹션 2 마지막 REST컨트롤러-수정/삭제,CORS 설정 첨부파일을 요청합니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요 강의를 듣는중에 섹션 2 마지막 REST컨트롤러-수정/삭제,CORS 설정 이 부분에서 PutMapping modify 메서드에 서비스 명과 파라미터명이 위에서 코딩한거랑 다르더라구요 service가 아니라 todoservice이고 파라미터는 todoDTO가 아니라 dto 던데 제가 입력한 부분이 정확히 맞는건지 확인하기가 어려워서 코드를 볼 수 있는 첨부파일을 요청합니다!

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
jkshin 댓글 1 좋아요 1 조회수 212

JPA에서 lombok Builder 사용

해결됨

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

JPA에서 lombok의 Builder 어노테이션을 사용해도 문제가 없나요? 엔티티 어노테이션을 붙여준 클래스에서도 가능한가 싶어 질문드립니다!

  • java
  • jpa
Jin 댓글 2 좋아요 0 조회수 389

gradle vs maven

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 구글 트렌드에서 검색을 했을 때 maven 사용이 gradle보다 현저히 높게 사용된다고 나오는데 gradle을 사용하는 이유가 있을까요?! 또한 둘에 대해 검색하면 gradle이 스펙상 좋다고 하는데 왜 gradle이 maven보다 사용이 더 적은건가요??

  • java
  • jpa
새싹 댓글 1 좋아요 1 조회수 257

로그에 traceId, spanId 모두 잘 찍히는데 traceId로 조회가 안 됩니다.

미해결

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

로그에 traceId, spanId 모두 잘 찍히는데 브라우저의 zipkin에서 traceId로 조회를 하면 no trace가 뜨네요. 스프링부트 3에 맞춰서 깃허브에 올려주신 자료 참조해서 디펜던시 맞게 설정하고 yml에도 올려주신 자료대로 수정했는데 이런 문제가 생기면 어떤 부분이 잘못된 걸까요?

  • spring-boot
  • jpa
  • 아키텍처
  • spring-cloud
  • kafka
  • msa
  • rabbitmq
CARL 댓글 2 좋아요 0 조회수 696

db 컬럼 이름 형식

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

JPA 관련 질문 드립니다. db 테이블의 컬럼 이름을 만들 때 isSold 라는 컬럼을 케멀케이스 형식으로 만들었습니다. 그런데 이러한 함수를 만들어서 사용할려고 하니 계속 에러가 떴습니다. 이러한 에러가 나와서 살펴보니 is_sold라는 컬럼을 찾는 것 같은데 저는 IsSold라고 컬럼명을 지어서 오류가 나는 거라고 생각이듭니다. 제가 궁금한점은 1. jpa가 스네이크케이스 형식으로 컬럼명을 자동으로 찾는 것 같아 오류가 나오는 걸로 생각이 드는데 이게 맞을까요? 2. 그럼 db의 컬럼 명을 처음 만들 때 컬럼명이 길 경우 스네이크케이스 형식으로 만들어야 할까요? 보편적으로 어떻게 하는지 궁금합니다.

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
김동현 댓글 2 좋아요 0 조회수 502

o.s.b.d LoggingFailureAnalysisReporter 오류

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

2024-05-16T23:53:30.318+09:00 ERROR 11428 --- [library-app] [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of constructor in com.group.libraryapp.service.book.BookService required a bean of type 'com.group.libraryapp.domain.book.BookRepository' that could not be found. Action: Consider defining a bean of type 'com.group.libraryapp.domain.book.BookRepository' in your configuration. Process finished with exit code 0 이런 오류가 뜨는데 bean 설정도 강의 내용그대로 한거 같은데 계속 코드를 수정하려고 해도 Error 가 떠서 해결방법을 모르겠습니다 package com.group.libraryapp.service.book; import com.group.libraryapp.domain.book.Book; import com.group.libraryapp.domain.book.BookRepository; import com.group.libraryapp.domain.user.User; import com.group.libraryapp.domain.user.UserRepository; import com.group.libraryapp.domain.user.loanhistory.UserLoanHistory; import com.group.libraryapp.domain.user.loanhistory.UserLoanHistoryRepository; import com.group.libraryapp.dto.Book.request.BookCreateRequest; import com.group.libraryapp.dto.Book.request.BookLoanRequest; import com.group.libraryapp.dto.Book.request.BookReturnRequest; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service public class BookService { private final BookRepository bookRepository; private final UserLoanHistoryRepository userLoanHistoryRepository; private final UserRepository userRepository; public BookService( BookRepository bookRepository, UserLoanHistoryRepository userLoanHistoryRepository, UserRepository userRepository) { this.bookRepository = bookRepository; this.userLoanHistoryRepository = userLoanHistoryRepository; this.userRepository = userRepository; } @Transactional public void saveBook(BookCreateRequest request){ bookRepository.save(new Book(request.getName())); } @Transactional public void loanBook(BookLoanRequest request){ Book book = bookRepository.findByName(request.getBookName()) .orElseThrow(IllegalArgumentException::new); if(userLoanHistoryRepository.existsByBookNameAndIsReturn (book.getName(),false)){ throw new IllegalArgumentException("이미 대출되어 있는 책 입니다"); } User user = userRepository.findByName(request.getUsername()) .orElseThrow(IllegalArgumentException::new); userLoanHistoryRepository.save(new UserLoanHistory(user, book.getName())); } @Transactional public void returnBook(BookReturnRequest request){ User user= userRepository.findByName(request.getUserName()) .orElseThrow(IllegalArgumentException::new); UserLoanHistory history = userLoanHistoryRepository.findByUserIdAndBookName(user.getId(), request.getBookName()) .orElseThrow(IllegalArgumentException::new); history.doReturn(); } } package com.group.libraryapp.domain.book; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; public interface BookRepository extends JpaRepository<Book,Long> { Optional<Book> findByName(String bookName); }

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
김동찬 댓글 1 좋아요 0 조회수 542

인기 태그

인프런 TOP Writers

주간 인기글