========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요?네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요?네 3. 질문 잘하기 메뉴얼을 읽어보셨나요?네 [질문 내용] 질문 그대로입니다.JPAMain에서 여러가지 해보던 중 Locker에 값을 넣어 놨는데 그 뒤로 create 모드 인데도 삭제가 안됩니다 drop table 이 안됩니다ㅜㅜ 근데 chat gpt 한테 물어보니 외부키값이 있으며 drop이 안됩니다 이런 식으로 나오더군요. 그렇게 따지면 1대 다 관계에서도 외부키값으로 여차저차 했는데 이 경우 삭제(drop table)은 잘만 되는데 왜 안될까요 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 어디가 잘못된 걸까요 ?
영속성 컨텍스트에 프록시 객체도 저장이 되나요? 강의 내용중 프록시 객체의 초기화를 보면 getName()을 요청했을때 최초의 요청이면 영속성 컨텍스트에서 조회를 하고 DB에서 조회를 한다고 나와있는데 .getReference를 했을때 생성되는 프록시객체도 영속성컨텍스트에서 관리를 하나요? 그리고 .getName을 요청해서 실제 엔티티를 받아오게되면 이 객체도 영속성 컨텍스트에서 관리를하나요? 그리고 2번째 .getName 메서드를 요청해도 꼭 프록시 객체를 거쳐서 값을 받게되나요?
findMember.getFavoriteFoods().remove("치킨"); findMember.getFavoriteFoods().add("한식"); 에서 치킨만 삭제되고 한식이 더해지는 것인지, 아니면 뒤에 주소 변경하는것처럼 [치킨,족발, 피자] 모두 삭제한 다음에 [한식, 족발, 피자] 가 더해지는 것인지 궁금합니다. 이해하기로는 치킨만 삭제되고 한식이 더해지는 것으로 이해했는데 favoriteFoods 와 addressHistory 모두 값타입 컬렉션인데 어떠한 차이 때문에 favoriteFoods 의 값을 변경할 땐 delete from favorite_food where member_id =? and food_name = ? 로 지정한 food_name 만 지우고 addressHistory는 delete from address where member_id =? 해서 address 테이블을 통째로 지우나요? Address의 테이블을 보면 값을 변경하면 추적이 어렵기 때문에 통째로 지우고 입력하는 것이고 favoriteFoods는 정확하게 food_name을 찾아서 지울 수 있기 때문에 그런건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 말 그대로 generated 까지는 생성되지만 그 안에 Q 모델들이 생성되지 않습니다. 버전에 맞게 여러 라이브러리를 적용해보고, generated 디렉토리를 소스로 인식하게도 해봤지만 아직 해결되지 않았습니다. 어떻게 하면 좋을까요? 아래는 제 build.gradle 입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. flush와 clear를 하시는 이유가 영속성 컨텍스트에 있는 데이터들을 DB에 옮기고 영속성 컨텍스트는 비워두기 위해서 하시는 거로 이해를 했는데, 굳이 DB에서 조회하지 않고 영속성 컨텍스트에 있는 데이터를 조회해서 써도 되지 않나요?? flush와 clear하시는 정확한 이유가 궁금합니다!!
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] 일대다 관계의 테이블에서 조인을 하면 데이터가 뻥튀기 되는건 당연한건데 이걸 자바 객체 입장에선 리스트로 어차피 한번에 다 들고있으니까 뻥튀기가 될 필요가 없다고 생각하면 될까요 ? (그래서 distinct를 사용하고 )
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요. 좋은 강의 잘 듣고 즐겁게 공부하고 있습니다. 개인적으로 토이프로젝트를 하던 중에 쿼리 최적화(?) 기준에 관해서 고민이 생겼습니다. 현재 회원의 모든 게시물을 조회하는 로직이 있는데, 회원를 조회하고(1) 회원의 모든 게시물을 조회하고(2) 이렇게 총 2번의 쿼리가 발생합니다. 이런 상황에 페치 조인을 통해 회원을 조회할 때 게시글도 한번에 페치 조인해오는 코드를 만드는 것이 더 효율적인지, 이정도는 괜찮은지 잘 결정하지 못하겠습니다. 해당 코드를 개발하더라도 사용하는 경우가 더 생길지 안생길지는 모르는 상황입니다. 물론 정답은 없겠지만, 영한님의 의견을 들어보고 싶어서 질문 남깁니다! 좋은 강의 항상 감사합니다! +) 애초에 해당 접근방식의 문제가 아니여서 다르게 해결은 했습니다. 그래도 기준이 궁금하여 질문은 남겨두겠습니다. comment.getPost().getMember() 처럼 타고타고 들어가는 상황일 때마다 페치조인을 해주는 것이 가장 좋은지 궁금합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported https://drive.google.com/file/d/1SPT29SzTIZ-E-f3aJrRZ8IvxPyXhJVtR/view?usp=sharing
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) 주입이 안되고 있는데 왜그런지 모르겠습니다 ㅠㅠ
안녕하세요. 다음과 같이 Entity와 Dto가 LocalDateTime, OffsetDateTime 을 사용하여 데이타 타입이 다릅니다. 이경우에 class EntityA { public Long id public LocalDateTime regDt; } class DtoA { public Long id public OffsetDateTime regDt; } querydsl 문장을 다음과 같이 하면, List<DtoA > list = jpaQueryFactory .select( Projections.fields( DtoA.class, entityA.id, entityA.regDt )) .from(entityA) .fetch() ; 다음과 같이 오류가 발생합니다. java.lang.IllegalArgumentException: java.time.LocalDateTime is not compatible with java.time.OffsetDateTime 다음과 같은 변환함수를 쓰면 될거 같은데, public OffsetDateTime map(Date value) { try{ ZoneOffset zoneOffset = ZoneId.systemDefault().getRules().getOffset(Instant.now()); return value.toInstant().atOffset(zoneOffset); } catch( Exception e) { throw new RuntimeException( e ); } } 이 함수를 querydsl에 어떻게 넣어야 할지 모르겠어요 답변 부탁드립니다. 감사합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] PageableExecutionUtils 을 사용시, count 쿼리 생략 조건에 "마지막 페이지 일 때" 라고 되어 있어서 강의에 샘플 데이터 기반으로 size=5, page=20 으로 마지막 페이지를 호출했는데, count 쿼리가 나가서 봤더니 컨텐츠 사이즈가 0 이 아니면서 페이즈 사이즈 보다 작아야 되는 경우로 되어 있었습니다. 해석하자면 카운트 쿼리 생략하는 경우가 "마지막 페이지이면서 컨텐츠 사이즈가 페이지 사이즈보다 작을 때" 인 것 같아서 의견드립니다. 중복된 것이라면 죄송합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/ 아니오 ) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 강의에서 멤버 객체를 persist를 이용해서 저장하는데 그 시점에 PK를 알 수 없으니 insert 구문이 실행되는 것까지는 이해가 되는데, 지금 트랜잭션이 진행중인데 모종의 이유로 인해서 커밋 전 예외가 발생한다면, 롤백이 이루어지면서 저장 작업을 무효화하고 ID도 회수하는 과정이 이루어지나요?