SpringBoot24 @Valid MethodArgumentNotValidException 처리 개요개인 프로젝트에서 Exception 처리는 @RestControllerAdvice와 @ExceptionHandler를 통하여 Exception을 한 곳에서 통합하여 처리합니다.이 때, 요청받은 입력값에 대한 검증은 @Valid 를 사용하여 합니다.@Valid에 의해 발생되는 Exception은 MethodArgumentNotValidException이다.해당 예외 처리를 진행하면서 겪은 상황과 해결 과정을 설명하려 한다. @ExceptionHandler를 통한 예외 처리다른 Exception들과 마찬가지로 @ExceptionHandler로 잡아 처리하도록 하였다. @ResponseStatus(HttpStatus.BAD_REQUEST) @ExceptionHandler(MethodArgumen.. 2024. 8. 23. Spring Annotation 활용기 내 프로젝트에선 유저 도메인의 다양한 필드들을 수정할 수 있다.Restful API에선 보통 PUT /도메인이름/{no} 를 통해 수정이 이루어진다. 이 때, 수정요청은 크게 아래 두가지 케이스 존재한다.그 중 case2와 추가조건(조건1,2) 에 해당하는 개발을 진행해본다.case1) 엔티티의 모든 필드에 데이터 넣어 요청case2) 모든 필드 중 특정 필드만 데이터 넣어서 요청 더하여 특정 필드엔 두 가지 조건이 존재한다. 조건 1. 특정 대상 필드만 업데이트 대상 조건 2. 특정 대상 필드에 null 인입 시 경우에 따라 null로 업데이트 및 기존 데이터 유지 UserEntity우선 userPwd, gender, tel 필드들은 모두 업데이트 대.. 2024. 5. 31. SpringBatch JpaPagingReader 조건을 통한 조회 시 문제점과 해결방안 데이터 추출을 위한 조건을 통한 조회 시 아래와 같은 문제가 발생하였다.(chunkSize,PageSize는 모두 1로 가정) 문제MailHistory테이블의 flg값이 X인 애들을 모두 O로 변경하는 배치 작업을 구현하였으나 띄엄띄엄 업데이트가 되는 상황을 마주하였다. 기존 코드MailHistory엔티티@Entitypublic class MailHistoryEntity extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long historyNo; ... private String flg;} 이메일 재발송 배치 Config@Slf4j@Configuration@Require.. 2024. 5. 3. @OneToOne 지연로딩? @OneToOne 양방향 연관관계에서 조회 시 Lazy로딩이 먹히지 않았다. 좀더 정확히는 연관관계의 주인이 아닌 쪽에서 엔티티 조회하니 Lazy로딩이 먹히지 않았다!!이유와 해결책을 정리해두려 한다. 양방향 연관관계 엔티티 도서와 도서이미 1대1 관계public class BookEntity{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long bookCode; ... @OneToOne(fetch = FetchType.LAZY, mappedBy = "book",cascade = {CascadeType.PERSIST,CascadeType.REMOVE}) private BookImageEntity bo.. 2024. 4. 22. 이전 1 2 3 4 5 6 다음