Web Developer/SpringBoot/JPA(7)
-
[스프링부트] 장바구니가 안 뜨거나 중복으로 뜨는 오류 해결 (1102)
문제 상황(1) 상품을 장바구니에 담았다는 alert는 출력되었지만, 장바구니에 물건이 담아지지 않는 오류가 발생했다. 해결방안 1. workBench에서 각 엔티티를 확인한다. 확인 결과 장바구니(Cart) 엔티티는 정상 생성 되었지만, 장바구니 내 상품(CartItem) 엔티티는 생성되지 않았다. 2. CartItem 관련 로직이 있는 파일들을 확인한다. 원래는 저 파란 부분이 없었다...! 엔티티를 생성만 하고 저장하지 않았다. 이걸 빠트리다니ㅠㅠ 추가하고 프로그램을 다시 실행한다. 아마 오류가 하나만 있었다면 이제 정상 작동 될 것이다. 문제 상황(2) 문제가 하나가 아니었다. 장바구니에 물품을 담는 것까지는 되는데, 장바구니에 상품을 하나 담으면 다섯 개가 출력되었다. 이미지가 하나만 출력되는 ..
2022.11.02 -
[Auditing] 엔티티에 등록일, 수정일, 등록자, 수정자 자동 적용하기 (1024)
오류 발생 경위 상품 등록 코드를 입력했다. 기댓값과 실제 Hibernate가 실행한 문장이 달랐다. 기댓값은 reg_time, update_time, created_by, modified_by, item_detail, item_name, item_sell_status, price, stock_number, item_id 였는데 다르다! 해결 방법 Item 엔티티를 만들 때에는 등록시간, 수정시간, 등록자, 수정자를 자동으로 엔티티에 추가해주는 Auditing을 사용하지 않았기 때문이었다. Item과 ItemDto의 regTime과 updateTime 변수를 삭제하고, Controller에서도 해당 내용의 코드 itemDto.setRegTime(LocalDateTime.now()); 를 삭제했다. 그 후..
2022.10.24 -
[스프링부트] '지정된 경로를 찾을 수 없습니다' 오류(1023)
오류 발생 경위 쇼핑몰 어플리케이션의 상품 등록 메뉴를 실습하던 중, 코드에는 문제가 없는 것 같은데(어플리케이션은 정상 실행 된다) 상품 등록시 아래와 같은 오류가 계속 출력되었다. 소스코드 오류인가 해서 먼저 찾았지만 그런 것은 아니었고.... 오류 확인을 위해 로그를 보기로 했다. 로그 확인을 위해 "상품 등록 중 에러가 발생했습니다." 문구를 띄운 ItemController에 @Slf4j 어노테이션을 추가하고 아래와 같이 log.info() 코드를 추가했다. 실행해보니 '지정된 경로를 찾을 수 없습니다' 오류가 뜬다. 지금 다시 보니 잘못된 게 한번에 보이는데 그 땐 왜 안 보였는지....ㅠㅠ. 해결 과정 1. 검색해보니 webapp 폴더를 만들지 않아 발생하는 오류라는 이야기가 있어 main 폴..
2022.10.23 -
[스프링부트] 스프링 시큐리티로 회원가입/로그인하기 (1021)
오늘은 스프링 시큐리티를 이용한 회원가입/로그인을 배웠다. dependency 추가만으로도 로그인 페이지를 제공한다.. 로그아웃 페이지도 제공해준다. localhost/logout으로 접근 가능. 인증 필요 없는 경우: 상품 상세 페이지 조회/메인페이지 조회 인증 필요한 경우: 상품 주문/취소 관리자 권한이 필요한 경우: 상품 등록/삭제 인증 작업 수행 가능 주체인지 확인하는 것. '로그인' 인가 인증 이후에 일어나며, URL 접근시 해당 URL에 접근이 인가된 회원인지를 검사함 '유저 중 admin' 수정시 Dto, 해당 Entity 모두 수정해야 함 책에 수록된 각종 Test 코드 관련 MemberServiceTest를 테스트를 test 디렉토리가 아니라 service 디렉토리에 작성한 이유가 있나 ..
2022.10.21 -
[JPA] communications link failure 오류 해결방법 (1012)
JPA 예제를 작성 후 실행해봤는데 Communications link failure 오류가 발생했다. 우선 콘솔을 살펴보니 아래와 같았다. 2022-10-12 22:14:19.790 ERROR 5984 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 2022-10-12 22:14:19.795 ERROR 5984 --- [ main] j.LocalContainerEntityM..
2022.10.13 -
[JPA] lombok does not exist 오류 해결방법 외 (1010)
java: package lombok does not exist 오류 및 해결방법 'lombok does not exist' 오류가 발생해서 해결 방법을 찾아보았다. 1. 인텔리제이 Settings -> Build, Execution, Deployment -> Annotation Processors 의 Enable annotation processing 옵션을 체크한다. 2. Compiler -> Java Compiler가 javac로 되어 있는지 확인한다. 3. Rebuild Project 및 Maven Reload All Maven Projects 눌러 전체 리로드한다. 본인의 경우 1,2 설정 후에도 계속 오류가 떴었는데, 리로드하니 해결되었다. JPA(Java Persistanc..
2022.10.13