Cute Running Puppy
본문 바로가기
728x90

개발일기/Java38

@NoArgsConstructor / @AllArgsConstructors 생성자를 막 만들지 말자! ✏️ 문제 @Getter @Setter 어노테이션이 적용된 ResponseDto에 테스트 코드 작성을 위해 @AllArgsConstructor어노테이션을 적용한 이후로 등록할 때 생성자 관련 오류가 발생하였다. ✏️ 원인 @AllArgsConstructor : 클래스가 가지는 모든 필드에 대한 매개변수가 포함된 생성자를 생성 생성자가 하나도 없을 때만 컴파일러가 자동으로 기본 생성자를 추가하므로 해당 어노테이션을 추가하면 기본 생성자가 사라짐 → 역직렬화 (바이트 스트림을 다시 객체형태로 변환하는 작업)가 불가능 ✏️ 해결 @NoArgsConstructor : 매개변수가 없는 기본 생성자를 생성 해당 어노테이션을 사용하여 기본 생성자를 자동으로 생성 DTO에는 @NoArgsConstructor 를 습관화.. 2023. 4. 20.
unknown enum constant When.MAYBE 오류는 아니지만! ✏️ 문제 어느 날부터 눈에 띄는 저 경고들 warning: unknown enum constant When.MAYBE reason: class file for javax.annotation.meta.When not found 빌드할 때 나오는 저 빨간 뭐시기들... 오류는 아니지만 아주 거슬리는걸? ✏️ 원인 public ResponseDto createExample(RequestDto requestDto , User user , @Nullable MultipartFile image) { . . . } 파일 업로드를 위한 @Nullable 어노테이션을 사용한 이후로 발견됨 찾아보니 이 경고는 @Nullable 어노테이션에 대한 것으로, 해당 어노테이션의 when 속성에 대한 값을 처리하지 못해 발생 ✏.. 2023. 4. 13.
NoSuchElementException 에러 해결 @Query를 사용하여 delete를 실행하는데 오류가 났음 로그에 delete문 자체가 찍히지도 않음 ..! ㅜㅜ 왜?? 날까 찾아보니 문법 오류일 가능성 99.9999999999% 다시 눈 뜨고 제대로 보니 들어가지 말아야 할 것이 들어가있다?! 짝 없는 괄호가 저기 왜..? ✏️ 같은 오류 예방하기 해당 쿼리문 내부에서 ctrl + Enter시 Sessions창이 뜸 ( MySql 연결된 상태에서 ) 콘솔을 클릭해보면 직접 실행이 가능하다 파라미터값을 지정했다면 해당 파라미터도 받아서 실행이 가능! 실행해보니 보이는 오류... 친절하게 ')'이게 이상하다고 알려주네... 수정 후 다시 실행해보니!! 오류가 없어지고 completed 메세지가 뜬다! 2023. 4. 12.
CommandAcceptanceException 해결 Entity를 수정하다보면 CommandAcceptanceException 이러한 에러가 뜨는데 이거슨 바로 예약어 문제!! MySql 기준 지금까지 발견한 예약어는 user like index restrict H2에서 year month day 2023. 4. 12.
728x90