inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

JPA, Querdsl 환경에서 팬텀리드는 어떻게 방지하나요?

해결됨

실전! Querydsl

안녕하세요. 초보개발자 명아주입니다. 새해복많이 받으세요! 이번에 QueryDSL 를 이용한 페이징 기능을 공부하면서 느꼈던 의문점이 있습니다. 일반적인 경우 쿼리가 2번 나가게 되는데, 그 사이에 팬텀리드가 발생한다면 어떻게 막을수 있을지 입니다. 어디서 언뜻 보기로, JPA 가 어플리케이션 레벨에서 Repeatable Read를 보장해준다고 봤었던것 같습니다. 물론 Repeatable Read더라도 phantom Read가 발생하는 걸로 알고 있지만요. 그래서 실무에서 이런 phantom read가 발생하는 걸 겪으신 경험이나 어떻게 해결하셨었는지 궁금합니다! 감사합니다!

  • querydsl
  • java
  • PhantomRead
  • JPA
명아주 댓글 1 좋아요 0 조회수 492

인텔리제이 컴파일 에러

미해결

백엔드 프레임워크 만들기 (개정판)

C:\public\code5\inflearn08\src_biz\com\biz\board\Board_test.java:3:17 java: package org.junit does not exist C:\public\code5\inflearn08\src_biz\com\biz\board\Board_test.java:17:6 java: cannot find symbol symbol: class Test location: class com.biz.board.Board_test 어떻게 해야되는 건가요?

  • aop
  • java
  • oop
netfly0 댓글 11 좋아요 1 조회수 1937

userid 미인식문의

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

안녕하세요 .선생님. URL의 userid 값을 인식못하는 문제가 있네요 ㅜㅜ MsgList.js에서 const userId값을 제대로 받지 못하는것 같습니다. messages.json 파일에는 제대로 들어있는데 못가져오는것 같습니다. 살펴보았는데 제 실력으로 파악이 좀 어렵네요 ㅜㅜ 시간되실때 한번만 살펴봐주시면 감사하겠습니다. https://github.com/imslee100/React-API/tree/67a6b99f164818ed89ac8ff71a2b8be79ff2c8c5

  • react
  • graphql
  • rest-api
봉이김선달 댓글 1 좋아요 0 조회수 186

QueryProjection 수동으로 만들면 어떨까요?

해결됨

실전! Querydsl

안녕하세요! 초보개발자 명아주입니다. QueryProejction 사용 시, DTO가 QueryDSL 에 의존적인게 단점이라고 하셨습니다. 그 외에는 컴파일 레벨에서 체크할 수 있다는게 정말 큰 장점인 것 같습니다. 그래서 혹시 의존성을 갖지 않으면서 이걸 사용할 방법이 없을까? 라는 의문으로 한가지 테스트를 해보고 찾은 해결 방법은 CustomQUserDto 를 직접 만들어서 쓰면 어떨까 싶습니다. CustomQUserDto는 레포지토리 계층에서만 쓰고, 반환값은 UserDto로 나가니까 서비스에서는 CustomQUserDto를 몰라도 상관이 없을것 같다고 생각했습니다. package study.querydsl.repository.dto ; import com.querydsl.core.types.ConstructorExpression ; import com.querydsl.core.types.Expression ; import com.querydsl.dto.UserDto ; public class CustomQUserDto extends ConstructorExpression<UserDto> { public CustomQUserDto (Expression<String> name , Expression<Integer> age) { super (UserDto. class, new Class<?>[]{String. class, int . class } , name , age) ; //혹은 심플하게 super(UserDto.class, name, age); 라고 해도 됩니다. } } 샘플코드는 자동생성된 QMemberDto를 참고해서 이렇게 짜봤습니다. serialVersionUID는 어떻게 처리해야될지 몰라서 없앴고 없어도 테스트 상에서는 문제없었습니다. @Test public void findUserDtoByManualQueryProjection () throws Exception { //given //when List<UserDto> result = query .select( new CustomQUserDto( member . username , member . age )) .from( member ) .fetch() ; //then for (UserDto userDto : result) { System. out .println( "userDto = " + userDto) ; } } 위처럼 테스트를 진행해봤을때 정상적으로 동작하는걸 확인했는데요. 혹시 이런식으로 QueryProjectionDto를 수동으로 만들어서 사용하시는 경우가 있으신지 궁금합니다. 감사합니다. 명아주 드림 새해 복많이 받으세요~~~~ p.s 한가지 질문드리고 싶은점이 있는데, 강의들으면서 따라 치는 코드를 깃허브에 올리고 있는데 혹시 문제가 된다면 비공개 레포로 변경하려고 합니다. 답변 주시는 대로 원하시는대로 처리하겠습니다!

  • QueryProjection
  • JPA
  • java
명아주 댓글 1 좋아요 1 조회수 499

count query

미해결

실전! 스프링 데이터 JPA

안녕하세요 개발자님 스프링 커리큘럼 수강중인 학생입니다. 다름이 아니라 수업중 헷갈리는 부분이 있어 질문드립니다. 제가 알기로는 일대다 관계에서 left join을 하면 데이터가 뻥튀기(?) 된다고 알고 있는데 이때 join을 안하고 count쿼리를 따로 날리면 의도한 갯수가 안나올것 같다는 생각이 들었습니다. 그럼 team을 기준으로 left join을 할때는 count query를 따로 사용하면 안되는게 맞나요?? 제가 잘 이해한건지 궁금합니다. 글 읽어주셔 감사합니다. 좋은하루 되십시오

  • spring
  • JPA
  • spring-boot
  • java
simononze 댓글 1 좋아요 0 조회수 309

V4 질문있습니다!

미해결

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

안녕하세요 영한님 서포터즈님들 V4에서 OrderQueryRepository 에 있는 findOrders 메서드에 대한 질문입니다. lazy인데 어떻게 member와 delivery가 같이 조회되는지 이해가 되질 않습니다.. m.name을 알기위해 member 엔티티를 select 해야한다고 생각을 했습니다 혹시 어느 부분이랑 제가 헷갈리는걸까요? 해당 단원 qna에서 해당 질문과 비슷한 게 있었는데 fetch join에 대해서만 말씀해주셔서 궁금해서 여쭤보게됐습니다 감사합니다 안녕하세요!! 질문 드리고 답을 기다리는 동안에 계속 찾아보고 생각해봤는데 아직 저 자신한테 납득이 안되서요,, 혹시 맞는지 여쭤보고 싶습니다 API 개발 고급 - 지연 로딩과 조회 성능 최적화 강의에서 V4를 보고왔습니다 제가 의심한 부분은 "일반적인 SQL을 사용할 대 처럼 원하는 값을 선택해서 조회"입니다. 첫 번째 쿼리에 대한 데이터는 이렇게 되어있습니다 지연로딩은 프록시 객체를 만들어서 해당 엔티티의 필드를 사용할 때 DB에서 엔티티를 조회하는 것인데, 바로 DTO를 조회하는 것은 JOIN된 DB 값에서 member의 이름, delivery address 을 바로 뽑아서 값을 가져오기 때문에 JPA에서 엔티티를 조회하지 않아도 값을 알 수 있으며, 다른 select 쿼리가 나가지 않게 되는걸까요?

  • spring-boot
  • JPA
  • java
  • spring
gusdn85554 댓글 2 좋아요 0 조회수 504

웹소켓 관련 개념질문입니다.

해결됨

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

안녕하세요. 현재 "DM채팅하기" 강의를 진행하기 전에도 시크릿모드로 두개를 띄워서 해보면 지금도 채팅 통신이 가능한데 이상태에선 계속 서버로 보냈다가 다시 가져오고 그런 상태이기 때문에 소켓통신으로 바꾸려고 socket.on 을 추가하는 것인가요? 그러니까 useEffect(()=>socket?.on('dm', onMessage) 이부분을 하는 이유가 http프로토콜을 소켓 프로토콜로 바꾸는 개념인가요? 동작 방식이 좀 헷갈리네요.. 제가 이해한 부분이 맞을까요?

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

연관관계 편의 메소드, 생성 메소드에 대해 질문드려요!!

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 항상 강의 잘 보고 있습니다. 다름이 아니라 연관관계 편의 메소드와 생성 메소드에 관해 궁금증이 생겨 질문을 드릴려고 합니다. Entity 필드에서 가급적이면 setter 를 지양해야 한다고 알고 있습니다. 그래서 setter 를 쓰지 않고 오직 builder 를 통해 연관관계 편의 메소드와 생성 메소드를 정의할 순 없을까 고민했습니다. 아래는 setter 를 쓰지않고 builder 만 써서 작성해본 코드입니다. <Delivery builder> @Builder private Delivery (Order order , Address address , DeliveryStatus deliveryStatus) { this . order = order ; this . address = address ; this . deliveryStatus = deliveryStatus ; } <OrderItem builder> @Builder private OrderItem (Order order , Item item , int orderPrice , int orderCount) { this . order = order ; this . item = item ; this . orderPrice = orderPrice ; this . orderCount = orderCount ; } <Order builder & createOrder> @Builder private Order (Member member , Delivery delivery , List<OrderItem> orderItems , LocalDateTime orderDate , OrderStatus orderStatus) { this . member = member ; this . delivery = delivery ; this . orderItems = orderItems ; this . orderDate = orderDate ; this . orderStatus = orderStatus ; //== 연관관계 편의 메소드 (?) ==// Delivery. builder ().order( this ).build() ; OrderItem. builder ().order( this ).build() ; } //== 생성 메소드 ==// public static Order createOrder (Member member , Delivery delivery , OrderItem... orderItems) { return builder () .member(member) .delivery(delivery) .orderItems(Arrays.asList(orderItems)) .orderDate(LocalDateTime. now ()) .orderStatus(OrderStatus. ORDER ) .build() ; } 위에서 보시다시피 Delivery 와 OrderItem 에서 builder 를 각각 생성했습니다. 그리고 Order 의 builder 안에 연관관계 편의 메소드(?)를 추가하고, 생성 메소드에서 builder 를 이용하여 order 를 빌드한 후 리턴을 시켜줬습니다. 혹시 이렇게 작성해도 별 문제 없을까요...??? 제 부족한 질문을 읽어주셔서 감사합니다...!

  • java
  • spring-boot
  • spring
  • JPA
  • 웹앱
박윤호 댓글 2 좋아요 3 조회수 1652

orderitem.size 에서 같은 인스턴스(엔티티)가 중복 저장되는 문제

미해결

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

orderItems.size 를 테스트 할때 같은 인스턴스가 orderitem에 중복저장 되는 것 같습니다. 1이 아닌 2가 나와요. List<OrderItem> orderItems = getOrder.getOrderItems(); for(OrderItem orderItem : orderItems) { sout (orderItem); } 하니까 같은 래퍼런스값을 가진 게 2번 똑같이 나왔습니다. 어디서 발생한건지 찾을 수 없어서 질문드려요

  • java
  • 웹앱
  • JPA
  • spring-boot
  • spring
ryu 댓글 2 좋아요 0 조회수 232

save하고 update할때 혼란이 있습니다

해결됨

실전! 스프링 데이터 JPA

안녕하세요. 초보 개발자 명아주입니다. 궁금한게 있어서 문의드립니다. 제가 공부하다가 놓친걸 수도 있는데 아직 잘 이해가 안되는 부분이 하나 있습니다. 예를들어서 Member member = new Member(); member.setName("hello"); em.persist(member); member.setName("jpa"); 이런 코드가 있을때 예상 : member가 영속성 컨텍스트에 들어감 트랜잭션 종료 때, flush할때 변경감지까지 포함해서 한 번의 쿼리만 나감 insert into member values (1, 'jpa'); 실제 : insert into member values (1, 'hello'); update member set name = 'jpa'; 영속성 컨텍스트에 들어가있다가 아직 플러시 되지 않은 상태에서 변경되면 마지막에 변경된 사항으로 insert 한번만 나갈 줄 알았는데 실제 동작은 insert, 그리고 변경감지에 의한 update가 발생하더라구요. 저번에 말씀하셨던 것중 얼핏 기억나는 스냅샷? 같은 걸로 영속성에 들어간 상태를 스냅샷 찍어놓고 그거에 대한 insert 쿼리가 나가고 그 후에 변경감지를 처리하는건가요?? 궁금합니다! 감사합니다.

  • jpa
  • spring
  • 영속성컨텍스트
  • JPA
  • java
  • spring-boot
명아주 댓글 1 좋아요 6 조회수 1376

테스트 코드 autowired 질문입니다

미해결

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

안녕하세요. Test 코드에서 public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; 이렇게 돼있던데요. 여기서 @Autowired로 주입을 받아야 하는 이유가 무엇인가요? 그냥 MemberRepository memberRepository = new MemberRepository(); 로 해도 될거같아서 해봤는데 에러가 나더라고요... Member 클래스는 그냥 Member member = new Member(); 이 형태로 쓸 수 있는데, MemberRepository 클래스는 어차피 예제 상황이라 싱글톤으로 안써도 되는 상황인데도 왜 굳이 의존성 주입으로만 해야하는건지 궁금합니다.

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

SCSS 미적용문의

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

안녕하세요 .선생님. 2번이나 따라해보았는데 SCSS가 적용이 되지 않는것 같습니다. ㅜㅜ 한번만 봐주실 수 있을까요? https://github.com/imslee100/React-API/tree/43ff3052029174f878762fa0544dfdc031f118fe

  • react
  • graphql
  • rest-api
봉이김선달 댓글 3 좋아요 0 조회수 392

(공유) 리액트 v6부터는 route가 바뀌어서 중첩라우터 이렇게 적용하셔야합니다

미해결

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

App 파트에서 workspace다음 와일드카드/* 를 표시해주셔야 합니다 workspace 안에서는 path에 /workspace/:workspace를 쓰면 App에서 workspace/:workspace/* 가 있어서 두개가 중복되기때문에 바로 /channel/: channel 로 path를 작성하시면 됩니다.

  • Socket.io
  • react
  • 웹팩
  • babel
  • typescript
  • 클론코딩
유동규 댓글 0 좋아요 21 조회수 858

react-router-dom 버전 6이후의 동작

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

안녕하세요. Route 컴포넌트를 사용하는 방법이 조금 바뀐거같습니다. (v6 이후) < Routes > < Route path ="/about/*" element = {< AboutPage />}/> < Route path ="/about/company/" element = {< AboutCompanyPage />}/> < Route path ="/profile/" element = {< ProfilePage />}/> < Route path ="/blog/" element = {< BlogPage />}/> </ Routes > 위에처럼 Route 바깥에 Routes로 감싸줘야 하는것으로 보이구요. 또 about아래에 여러 URL을 지원하려면 *를 붙여줘야 하는거 같습니다. (exact 속성도 지원하지 않는다고 합니다.) 다만 about/abcd 이런식으로는 접속해도 URL매칭은 되지만 about/company/로 슬래시로 끝내면 매칭이 되지는 않네요. 원만한 강의 진행을 위해서는 v5로 낮추어서 듣는게 좋을까요? https://stackoverflow.com/questions/69866581/property-exact-does-not-exist-on-type https://stackoverflow.com/questions/49162311/react-difference-between-route-exact-path-and-route-path

  • react-router-dom
  • react
  • django
  • react
  • python
  • docker
율리시스 댓글 8 좋아요 0 조회수 1020

react 비주얼 스튜디오

미해결

오픈 소스 자바스크립트 React 프로그래밍 입문 Part.1

여기 보면 client앱이 강사님께 보이는데 처음에 실행할 때 리액트로 설정하는 화면도 없고 clientapp 디렉토리도 없는데 어떻게 하면 되는건가요..

  • react
  • react
  • visualstudio
  • clientapp
박하률 댓글 1 좋아요 0 조회수 310

next.config.js 파일미생성

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

안녕하세요. 환경설정 영상에도 next.config.js 파일이 없는데 이번영상에서 next.config.js파일을 수정하는 부분이 있습니다. 해당 파일은 영상을 따라해도 생성되지 않는데 확인을 요청드립니다. server쪽 폴더에도 작업한 내용이 없는데 영상에는 파일들이 있는것 같습니다. 아마 이전영상에 이어 촬영되지 않은것 같은데 확인을 요청드립니다.

  • graphql
  • react
  • rest-api
봉이김선달 댓글 1 좋아요 0 조회수 488

서버오류발생

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

선생님. 환경세팅 화면 그대로 따라했습니다. localhost:3000에서 아래와 같은 오류가 뜨네요.. 혹시 코드 챕터별 commit된 github은 없는지 궁금합니다.

  • graphql
  • react
  • rest-api
봉이김선달 댓글 3 좋아요 0 조회수 321

yarn 문의

해결됨

풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)

yarn 말고 npm을 init과 script에서 써도 될까요?

  • graphql
  • rest-api
  • react
봉이김선달 댓글 2 좋아요 0 조회수 318

안녕하세요 유니크 제약조건에 대해 궁금한 점이 생겨서 질문드립니다.

해결됨

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

안녕하세요 강의를 듣고 복습하다가 유니크 제약조건에 대해서 궁금한 점이 생겨서 이렇게 질문을 드립니다. 책에서는 @Table(name = "Member", uniqueConstraints = @{UninqueConstraint ~~}) 이런식으로 적혀있는데 그러면 유니크 제약조건을 Member라는 테이블 에 있는 모든 colum에 거는건가요? 그리고 인터넷에서 찾아보니 @Column(unique = true)이렇게도 사용하던것 같던데 이렇게 사용하면 해당 @Column에만 유니크 제약조건을 거는 것이 맞나요?

  • 유니크제약조건
  • java
  • JPA
이상민 댓글 1 좋아요 0 조회수 600

사소한 오타를 발견하여 말씀드립니다!

해결됨

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

강의 대시보드의 강의자료는 버전 수정이력이 v2021-12-01로 되어있지만 PDF파일 다운받을 시 v 2022-12-01로 오타가 있습니다.

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

인기 태그

인프런 TOP Writers

주간 인기글