학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. QuerydslApplicationTests 실행시 아래와 같은 에러가 발생합니다. HELLO_SEQ가 없다는 오류인것 같은데요 H2 DB에 이걸 만들어야 한다는 의미인가요? 강의 내용에는 없는 것 같아서 질문드립니다. 확인 부탁드립니다. 감사합니다.
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의내용과 동일하게 컨트롤+쉬프트+T 눌러서 JUnit4 선택하고 코드를 동일하게 쳤을때 이런 오류가 발생합니다 https://www.inflearn.com/questions/15495/%ED%85%8C%EC%8A%A4%ED%8A%B8-%EB%8F%84%EC%A4%91-%EC%97%90%EB%9F%AC-%EB%B0%9C%EC%83%9D 링크에서 설정에서 run test를 intelliJ IDEA로 바꾸면 아래와 같은 오류입니다 intellij IDEA로 변경 + 임포트를 jupiter.api.test 로 하면 이런 오류입니다 run test를 default + 임포트를 jupiter.api.test로 하면 이런 오류입니다.... 어떻게 해야 할까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] create시에 반환 타입을 Long 을 주는 실무적인 관점에서 이유가 뭘까요?? 어떤 경우에 좋은지 예를 들어 주실 수 있을까요?? https://woojin.tistory.com/115#google_vignette 에서는 아예 void 를 사용하지 말라고하는데 그 이유가 공감이 전혀 안됩니다. 예를 들어 뭐 이런 건가요?? 주문 완료하기 버튼을 딱 누르면 생성된 주문 ID 가 딱 반환이되고 생성된 주문 ID를 바탕으로 조회해서 어떤 주문이 완료되었는지 표시해주게? 그러면 만약에 상품에 대한 평가를 남긴다고 하면 상품 평가 ID 를 반환해봤자 차피 바로 조회할 필요가 없어 보이는데 이러면 void 써도 되는 것 아닌가요??
안녕하세요. 선생님 . 프로젝트 병행하며 JPA 내용 복습중인데요. 강의 자료에서는 진짜 매핑 - 연관관계의 주인 ( Member.team ) 가짜 매핑 - 주인의 반대편 (Team.members)라 하셨습니다!! 제가 이해한 바로는 Member와 Team의 관계는 N : 1이고, 외래키를 갖고 있는 Member Entity가 연관관계의 주인이다. 라고 이해하였는데 자료에서는 Member.team 이 주인이다 라는 것이 이해가 가지 않습니답!! 제가 이해한대로 머리속에 집어넣어도 무방할까요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 혹시 코드에 문제가 있는건가 싶어 수업도 두번 듣고 멈춰서 선생님코드와 비교까지 했는데 Exception in thread "main" org.hibernate.type.descriptor.java.spi.JdbcTypeRecommendationException: Could not determine recommended JdbcType for Java type 'jpabook.jpashop.domain.Member' 이런 오류 메세지가 발생합니다... 원인을 어디서 찾아야 될지 모르겠어서 질문 남깁니다.
public void login(Account account) { System.out.println(account); UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(account.getNickname(), account.getPassword(), Collections.singleton(new SimpleGrantedAuthority("ROLE_USER"))); SecurityContextHolder.getContext().setAuthentication(token); } 우선 AccountService에 있는 login입니다. 제가 테스트를 하던 도중 나머지는 다 되는데 authetication부분에서 문제가 있는것을 발견했습니다. 단위테스트로 하다보니 권한이 부여가 되지 않아서 회원가입을 해도 다시 원상태로 복구되더군요 springsecurity6로 바뀌면서 새로 바뀐부분이 있길래 구글링해서 바꿀만큼 바꿔보고 찾을만큼 찾아봤다 생각했는데도 자꾸 권한부여 부분에서 문제가 생깁니다(위의 login함수) 이럴경우 어떻게 바꾸어야 할까요...? 저 위에 SecurityContextHolder.getContext().setAuthentication(token); 라는 코드전에 토큰을 출력해 보니 UsernamePasswordAuthenticationToken [Principal=jungsik, Credentials=[PROTECTED], Authenticated=true, Details=null, Granted Authorities=[ROLE_USER]] 이렇듯 AUtheticated는 true로 반환되는데 redirect될때는 권한이 사라지는것 같습니다
Child child1 = new Child(); Child child2 = new Child(); Parent parent = new Parent(); parent.addChild(child1); parent.addChild(child2); em.persist(parent); em.flush(); em.clear(); Parent findParent = em.find(Parent.class, parent.getId()); // em.remove(findParent); findParent.getChildList().remove(0); tx.commit(); @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, orphanRemoval = true) private List<Child> childList = new ArrayList<>(); cascade 옵션과 orphanRemoval옵션을 각각 켜보기도 하고 둘다 켜보기도 하면서, 주석 표시해 둔 em.remove와 그 아랫줄에 해당하는 코드를 번갈아 주석처리해보며 cascade와 orphan removal의 차이에 대해 알아보려고 하는데 할 수록 헷갈리네요 ㅜ 다시 한 번 정리해주실 수 있을까요? 강의를 다시 봐도 헷갈리는 지점이 있어서 질문드립니다.
/* 등록 */ public void savePosts(Posts posts) { postsRepository.save(posts); /* 업데이트 */ public void doUpdate(Posts posts) { postsRepository.save(posts); 구글링을 해보니 JPA의 save를 사용했을시 기존에 DB에 데이터가있을땐 바뀌는 부분만 업데이트 된다해서 이렇게 코딩을 했습니다. 하지만 수정기능을 동작해보니 기존 데이터가 수정되지 않고 새로운 데이터로 DB에 추가가 되고있습니다. 무언가 다른 방법이 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예전에 프로젝트를 할때 jpa에 있는 sql문을 통해서 update문으로 수정을 했는데 병합이랑 변경감지를 구지 쓰는 이유가 있을까요?
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
@GetMapping("/add") public int addTwoNumbers(CalculatorAddRequest request) { return request.getNumber1() + request.getNumber2(); } @PostMapping("/multiply") public int multiplyTwoNumbers(@RequestBody CalculatorMultiplyRequest request) { return request.getNumber1() * request.getNumber2(); } GetMapping 메소드에서는 @RequestParm 어노테이션을 사용하지 않아도 자동으로 쿼리 데이터를 DTO로 변환해주고 PostMapping 메소드에서는 @RequestBody 어노테이션을 사용해야만 Body 데이터를 DTO로 변환해주는 것인가요?
[질문 내용] https://drive.google.com/file/d/14dXFBLKqzY9hcZZAXjr0e1CCKV9u_U22/view?usp=sharing 제자리에 다 맞게 넣은 것 같은데 Could not detect default configuration classes for test class 오류가 뜹니다 ... 이렇게 애노테이션을 추가해도 오류가 뜹니다 @ContextConfiguration(classes = ItemServiceApplication.class
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] json으로 return 할 때 궁금한 점이 있어서 질문드립니다. 이전 강의에서 member 엔티티 자체를 json 타입으로 return 할 때는 orders(컬렉션)에 대해 무한루프가 걸리지 않았지만 order를 json 타입으로 return하게 되면 강의에서 처럼 여러 엔티티들에 의해 무한루프가 걸리게 됩니다. 컬렉션인 데이터의 경우 무한루프에 걸리지 않는 이유가 무엇인가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 compilejava를 하면 강의와는 달리 프로젝트 바로밑에 build폴더가 생기고 그안에 generated/source/annotationProcessor/main....Qitem이 생깁니다. 그런데 아래를 실행하면 build폴더부터해서 아래폴더들이 다 지워집니다. 경로가 강의와는 달리 생성되는것과, 밑의 delete file을 실행했을 때, 어떻게 생성된 것들이 지워지는지 궁금합니다.(경로가 다른데) clean { delete file('src/main/generated') }
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 처음에 선생님이 환경설정 하신다고 JpashopApplication에 아래와 같은 코드 만들어놓고 메인메서드 실행하셨는데 저는 그럴때마다 Process 'jpashop [:JpashopApplication.main()]' Is Running 'jpashop [:JpashopApplication.main()]' is not allowed to run in parallel. Would you like to stop the running one? 이런 메세지 뜨면서 새로 실행이 되는데 선생님께선 Do not show this dialog in the future 체크해놓고 매 실행시마다 새로 실행이 되는게 맞는걸까요? Hello hello = new Hello(); hello.setData("hello"); String data = hello.getData(); System.out.println("data = " + data);