inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

스프링 데이터 JPA 메서드 두 번 호출 이슈

미해결

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

리파지토리에 스프링 데이터 JPA를 적용하고 AOP를 실습해본 결과 리파지토리 메서드들이 두 번 호출되고 있습니다. 이유를 찾고자 구글링도 해봤는데 명확한 답을 못찾았네요.. 원인과 이유를 찾을 수 있는 디버깅 방법을 알 수 있을까요? Service Join 호출 로그

  • spring-boot
  • spring
  • MVC
  • java
댓글 1 좋아요 0 조회수 584

함수 null 질문드립니다.

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

@nullable public String getName() { return name; } - 위 함수는 리턴타입이 reference 타입이니 어노테이션을 지우면 참조형식이 될거 같은데 플랫폼 타입이 되는데 함수만 그런 규칙이 적용이 되는건가요?

  • java
  • kotlin
  • oop
backboss 댓글 1 좋아요 1 조회수 373

JDBC 강의 질문입니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 인텔리제이나 h2 콘솔에서 에러가 뜨지는 않습니다. 그런데 localhost8080에 접속하여 수강 목록에 들어갔을때 새로운 창으로 넘어가지 않고, 가입창에서 입력을 했을때도 데이터베이스에 저장이 되거나 홈화면으로 리다이렉트되는 등의 조치가 시행되지 않습니다.. 무엇이 문제인지 궁금합니다. 감사합니다. https://drive.google.com/file/d/1j3y1a2OuGRsjAHbAITL-iFoAPqClJgbr/view?usp=sharing

  • spring
  • MVC
  • java
  • spring-boot
qwer10897 댓글 2 좋아요 0 조회수 288

연관관계 편의메서드를 적용하지 않을때 문제점이 어떤것이 있나요?

미해결

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

스프링 데이터 jpa를 사용하여 여러 연관관계를 가진 엔티티를 만들었는데 이 강의에서처럼 연관관계 편의메서드에서 하신 것처럼 연관관계가 설정된 엔티티에 따로 설정(member.getOrders().add(this) 같은) 을 따로 해주지 않았는데 문제가 없었습니다. 특별히 어떤 이유에서 연관관계 설정 메서드를 정의하신건가요?

  • spring
  • 웹앱
  • JPA
  • spring-boot
  • java
조진수 댓글 1 좋아요 0 조회수 294

one to one 관계에서 lazy 로딩..

미해결

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

one to one 관계에서 연관관계의 주인이 아닌 쪽의 엔티티의 경우(mapped by) 실제 db 테이블에 연관객체에 대한 정보가 없기 때문에 프록시 객체를 생성할 수 없어서 lazy 로딩이 작동안한다고 알고있습니다. 그러면 one to one 뿐만 아니라 one to many 관계에서로 맺어진 필드(list) 또한 프록시 객체를 생성할 수없어서 lazy로딩이 작동하지 않는건가요??

  • JPA
  • java
물미구 댓글 1 좋아요 1 조회수 202

Entity 메소드 파라미터로 DTO를 받는 것, 괜찮을까요?

미해결

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

1. 강의 내용과 관련된 질문인가요? 아니오 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요? JPA 수업 수강 후, 실제 업무에 적용하는 와중에 궁금한 점이 있어서 질문 남깁니다. DB Update를 위한 Entity Method의 파라미터로 DTO를 받는 것이 프로그램 구동상에는 전혀 문제는 없는데요. Domain driven design을 구현하는데에 있어서 엔티티 메소드의 파라미터로 DTO를 집어넣는게 바람직한 설계(?) 인지 문의 드립니다. 질문의 보다 빠른 이해를 위해 샘플 코드 및 시나리오를 아래와 같이 남깁니다. - 상황 : 회원정보수정 API의 input으로 MemberDTO를 받음 - Member DTO 내에 ContactDTO, List<AddressDTO>를 가진 구조 (Nested) class MemberDTO { ... private ContactDTO contactDTO; private List<AddressDTO> addressDTO; ... } - Service 레벨에서 memberRepository.findById() 통하여 Member Entity를 불러옴. - Member Entity와 Contact Entity은 1:1조인, Address Entity와는 1:N 조인 - Contact 및 Address 업데이트를 위해 Entity레벨에 다음의 메소드를 구현해두었으며, member.getContact().updateContact(contactDTO)로 해당 메소드를 호출 @Entity class Contact(또는 Address) { ... public void updateContact (ContactDTO contactDTO) { ... this.phoneNumber = contactDTO.getPhoneNumber(); ... ... } } 감사합니다.

  • spring-boot
  • java
  • spring
  • 웹앱
  • JPA
Jinseok Han 댓글 2 좋아요 2 조회수 3357

Auth()를 처리하는 다른방식.

미해결

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

export default Auth(LandingPage, null) 저 같은 경우는 위 코드가 안먹혀서 다른 방법을 생각해봤는데요. auth 부분을 export default function _auth ( option , adminRoute = null ) { const navigate = useNavigate () const dispatch = useDispatch () dispatch ( auth ()). then (( response ) => { console . log ( response ) //로그인 하지 않은 상태 if (! response . payload . isAuth ) { if ( option ) { navigate ( "/" ) } } else { //로그인 한 상태 if ( adminRoute && ! response . payload . isAdmin ) { navigate ( "/" ) } else { if ( option === false ) { navigate ( "/" ) } } } }) } 이렇게 수정해주고.. LandingPage 기준으로 Auth ( null ) 이 코드를 넣어준 후 export default LandingPage 이렇게 export해주시면 정상적으로 작동합니다. 다른 페이지도 같은 방식으로 적용해주시면 돼요!

  • nodejs
  • react
무로박 댓글 1 좋아요 0 조회수 622

Proxy 설정 시 502 에러, [HPM] Error occurred while proxying request 에러

미해결

Slack 클론 코딩[실시간 채팅 with React]

제로초님 안녕하세요 강의 재밌게 수강하고 있습니다! webpack.config에서 proxy 설정을 따라하던 중 에러를 마주하여 회원가입 진행을 못하고 있습니다. [진행 방법] - back 폴더 app에서 cors쪽 코드 주석처리하였습니다. 1. 백 서버 잘 띄운 상태에서 webpack.config에서 코드 수정할 때마다 프론트서버 재실행하였습니다. 2. 회원가입 진행하였습니다. 3. 아래와 같은 에러를 마주합니다. 아래 에러이미지, 작성중인 코드, package.json쪽 코드 사진 첨부합니다. 제가 봤을 땐 proxy 설정이 제대로 이루어지지 않은 것으로 보입니다. 회원가입시 api요청을 보내는 프론트 포트가 3090이고 백포트는 3095이기 때문에 cors정책에 벗어나서 위와 같은 에러가 뜨는 것이 당연하다고 봅니다. 그래서 proxy 설정이 되지 않는 것 위주로 구글링하며 이것 저것 많이 시도해봤는데 3시간째 해메고 있어서 질문 남깁니다ㅠㅠ

  • proxyingrequeset
  • proxynotworking
  • typescript
  • 웹팩
  • devserver
  • react
  • Socket.io
  • babel
  • react
  • 클론코딩
assd3327 댓글 1 좋아요 0 조회수 2371

엔티티로 승격되지 않은 테이블은 JPA에서 어떻게 사용할 수 있나요?

해결됨

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

JPA 강의 도중에 "모든 테이블을 엔티티로 바를 순 없다"고 얘기하셨던 게 기억나요. 어떤 강의였는 지 정확히 기억이 나진 않습니다. 엔티티 코드로 명시되지 않은 테이블은 어떻게 사용할 수 있는지 궁금합니다. JPA Native 쿼리로 써야하나요? 아니면 값 타입으로 정의를 해야할까요? 예를 들면, 특정 년도의 통계를 저장하는 테이블을 말할 수 있을 것 같아요. Member, Order, Delivery, OrderItem, Item 같은 테이블이 아니라 단순히 값만 뽑아서, 화면에 뿌리는 용도로 사용되는 테이블이요. 이런 테이블 같은 경우, 컬럼이 수십개가 넘어서, 이 컬럼들을 전부 Attribute로 정의해서 엔티티로 만들어야 하는지 의구심이 생깁니다. 또 이런 테이블은 용도상 객체 내부에서 이뤄질 연산이 거의 없기도 합니다.

  • java
  • JPA
Roy 댓글 1 좋아요 0 조회수 176

N+1 문제를 맞게 이해한 것인지 잘 모르겠습니다.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이번 강의를 통해 공부하면서 N+1문제를 아래와 같이 이해하였습니다. ex) 모든 주문 내역을 가져오는 경우 -> 실제로 나가는 쿼리는 select * from orders 쿼리 한방이지만, 1) 이때 지연로딩인 경우 , 조회한 order에 대해 member나 delivery를 필요로 하는 경우에 각 order별로 member나 delivery 조회 쿼리가 N번씩 나가게 되고 2) 즉시 로딩인 경우, select * from orders 라는 모든 주문 조회 쿼리 한방이 나간 후, 곧바로 조회한 order들과 연과된 member와 delivery 조회 쿼리가 이어서 나가게 된다. (단 이떄 예측할 수 없는 쿼리가 나갈 수 있음.) 즉 정리하면 즉시로딩과 지연로딩 모두 N+1 문제가 발생할 수 있지만, 즉시로딩은 예측할 수 없는 쿼리가 나갈 수도 있어 최적화 시키기 어려운 반면, 지연 로딩은 페치 조인을 사용하여 order를 조회하면서 동일 쿼리 상에서 member나 delivery도 함께 가져오게 하는방법으로 최적화 시킬 수 있으니, 지연로딩을 사용하는것이 옳다. 라고 이해하였는데, 맞게 이해한 것인지 잘 모르겠습니다. 감사합니다.

  • spring
  • java
  • spring-boot
  • JPA
요니 댓글 1 좋아요 3 조회수 667

웹팩 한가지 질문이 있습니다.

해결됨

Slack 클론 코딩[실시간 채팅 with React]

안녕하세요! 웹팩설정에서 질문이있습니다. 알거같다가도 헷갈려서 질문드려요! "webpack.config.ts 파일 내에서 const require 방식이 아닌 Import를 사용가능한 이유"가 어느부분때문인가요? tsconfig.json 에서 module을 esnext로 최신으로 쓰겠다고 설정했으므로 tsconfig를 웹팩이 먼저 읽어서, 웹팩 파일내부에서도 commonjs방식이아닌 import 방식이 가능한것이라고 이해하면 맞을지 궁금합니다. 그런데 이렇게 이해하면 tsconfig-for-webpack-config 파일에서는 또 module을 commonJs 로 해주기때문에 조금 헷갈립니다,,

  • react
  • 웹팩
  • Socket.io
  • babel
  • typescript
  • 클론코딩
댓글 1 좋아요 1 조회수 371

안녕하세요 질문이 있습니다!

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

안녕하세요~ 질문이있는데용 OPEN 키워드를 사용하지않고 사진의 코드를 실행시키면 값이 300으로 나오게되는데요~ Derived(300) 으로 부모가 호출이되고 자식의 프로퍼티가( override )가 아니기 때문에 부모의 초기화블록이 실행되면서 자식의 초기화되지 않는 init 블럭에 접근하지 않고 부모의 init에서 처리하기 때문에 300이 재대로 출력되는건가요?

  • oop
  • kotlin
  • java
woojin126 댓글 1 좋아요 1 조회수 315

리턴 값을 받지못함.

해결됨

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

이렇게 계속 못잡아주고있습니다 이럴 때는 어떻게 해결해야하나요 ㅜ

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

3분 59초에 말씀하신 부분에 대해 궁금한 사항이 있습니다

미해결

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

안녕하세요. 스프링 입문강의 [ 회원 도메인과 리포지토리 만들기 ] 강의에서 3분59초에 나오는 실무에서는 공유되는 데이터에 대해 컨커런시브를 사용한다?? 이 부분에서 컨터런시브?? 이거에 대해 좀 자세히 알 수 있을까요??

  • springboot
  • java
  • spring-boot
  • MVC
  • spring
  • java
준준 댓글 1 좋아요 0 조회수 247

useMemo와 useEffect 차이

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

useMemo 강의 잘 듣고 있습니다. 그런데, useMemo(() => { //생략 }, [data.length]); 한 것과 useEffect(() => { //생략 }, [data.length]); 한 것과 차이가 있을까요? 제가 생각했을때는 둘이 같이 작동할 것 같은데.. 어떻나요?

  • nodejs
  • javascript
  • react
예승재 댓글 2 좋아요 1 조회수 855

dataId = useRef(0) 질문입니다.

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

const dataId = useRef(0) 질문입니다. 강의 들을 때는 그냥 음~ 하면서 들었는데 나중에 생각해보니.. 왜 useRef를 쓰는 건지 잘 모르겠습니다. 그냥 const [dataId, setDataId] = useState(0); 해도 문제 없을 것 같은데.. 어떨까요??

  • javascript
  • nodejs
  • react
예승재 댓글 1 좋아요 0 조회수 464

while문 하나만 사용해서 문제를 풀었는데 길이 계산 식이 왜 이렇게 되는지 궁금합니다.

미해결

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

import java.util.Scanner; class Main { public int solution(int n, int k, int[] arr) { int answer = 0, lt = 0, rt = 0, kr = k; while (rt < n) { if (arr[rt] == 0) { if (kr > 0) { kr--; rt++; } else { if (arr[lt] == 0) { kr++; lt++; } else lt++; } } else { rt++; } if (answer < rt-lt) answer = rt-lt; } return answer; } public static void main(String[] args) { Main T = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int k = kb.nextInt(); int[] arr = new int[n]; for (int i = 0 ; i < n; i ++) arr[i] = kb.nextInt(); System.out.println(T.solution(n, k, arr)); } } 강사님이 풀은 방식과는 동일하게 작동하는 것일텐데 rt 와 lt 길이 계산이 rt-lt+1 이 아닌 rt-lt 로 해줘야 맞는 결과가 나오네요 왜 이런 것인가요?

  • 코테 준비 같이 해요!
  • java
댓글 1 좋아요 0 조회수 395

Batch Size에서 두 번째 Order의 ID가 IN 쿼리에 들어가는 이유

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 처음 OrderItem을 조회할 때 두 번째 Order 의 ID(11)와 함께 IN 쿼리를 통해 조회됩니다. 여기서 IN 쿼리에 두 번째 Order 의 ID가 들어가는 이유에 대해 생각해보았습니다. 1. 현재 Order 엔티티를 통해 OrderItem을 조회하고 있다. 2. batch가 설정되어 있기 떄문에 1차 캐시에 들어있는 Order 들을 통해 최대 batch_size개 까지 IN 쿼리를 통해 조회한다. 3. 조회 대상이 된 1차 캐시에 들어있던 Order들 중에 두 번째 Order 가 포함되어있었기 때문에 IN 쿼리에 두 번째 Order 의 ID가 함께 들어갔다. 4. member와 delivery를 fetch하지 않았을 때도 위와 같은 이유로 한번에 조회되었다. 이런 과정을 거쳐서 같이 조회가 되지 않았나 생각해보았습니다. 제가 생각한 이유가 맞거나 혹시 틀린 부분이 있는지 궁금합니다. 감사합니다.

  • JPA
  • spring-boot
  • java
  • spring
안재우 댓글 1 좋아요 2 조회수 407

프로젝트 열 때, build.gradle 을 생성하는 이유

미해결

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

안녕하세요, 먼저 수업 정말 잘 듣고 있습니다 :) https://www.inflearn.com/questions/394903 저도 비슷한 에러를 겪었는데 (저는 빌드는 되는데 sonarlint 라고 코드 에러를 리뷰해주는 프로그램에서 비슷한 warning 메시지를 주었습니다) 조언해주신 대로 프로젝트를 열 때 build.gradle 을 열어서 해결했습니다. 저는 프로젝트 작업을 할 때, recent project 로 주로 꺼내오는(?) 편인데요 (혹은 인텔리제이를 닫지 않고 계속 작업하기도 합니다) 프로젝트를 가져올 때, build.gradle을 open 하는 것과, open 프로젝트 폴더 이름 혹은 open recent project 하는 것의 차이가 있는지 궁금합니다.

  • MVC
  • spring
  • java
  • spring-boot
jkdev1324 댓글 1 좋아요 0 조회수 910

h2연결

미해결

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

(사진)

  • java
  • MVC
  • spring-boot
  • spring
댓글 1 좋아요 0 조회수 483

인기 태그

인프런 TOP Writers

주간 인기글