java25 EnumVaild Anotation 개요 Enum 의 대한 Request를 받는 DTO를 개발하던 중, Enum 대한 DTO를 어떤 자료형으로 받는게 맞을지 생각을 하다가, Enum.Class 에 저장되지 않은 값이 들어왔을 때에는 어떻게 처리하면 좋을 지에 대해 의문이 들었다. 그러하여 만든 것이 Enum 에 대한 Vaildation 검사를 수행하는 Anotation 이였다. @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy = EnumValidator.class) public @interface EnumValid { String message() default "올바른 값이 아닙니다."; Class[] groups() default.. 2023. 8. 1. ResponseEntity Code Convention ResponseEntity를 Custom 하여 ResopnseResult 사용하여 이에 맞는 Convention 을 작성합니다. Template ResponseResult 의 Template은 다음을 유지한다. List Template contents : Parameter Contents (List) pageable : Paging 정보 pageSize : 페이지 사이즈 (int) pageNumber : 현재 페이지 번호 (int) / 1 부터 시작 totalElement : Total Contents Size (Long) { "code": int, "message": "string", "content": [ {list1 : data1}, {list2 : data2} ], "pageable": { "pa.. 2023. 7. 26. ResponseResult 개발 진행 Controller에서 Return 값을 설정할 때 Response 을 쓰는 것에 대해서 JSP 를 사용할 때는 Model를 사용했고 Jackson을 사용할 때는 Dto 를 사용했습니다. 그리고 Spring http를 사용할 때 ResponseEntity를 사용했습니다. 하지만 API가 늘어나고 서버가 늘어남에 따라 에러 케이스 또한 상세히 분류하게 되어 단순 HTTP ResponseEntity에서 제공하는 코드가 아니라, 우리 서비스의 상태 코드와 Response 형식으로 Template을 만들어야 할 필요성을 느꼈습니다. 그리고 같이 협업을 하는 Front End 의 Rest API 에 대한 요청 사항을 맞춰줘야 하는 부분이 있었습니다. Front End 과의 협의 된 Template 요청 사항은 어.. 2023. 7. 26. Inner Join 과 Fetch Join 의 차이 💡 Fetch Join 을 사용할 때 발생하는 쿼리는 Inner Join 의 쿼리와 차이가 없는데 왜 Fetch Join의 성능이 좋을까? Inner Join 오직 JPQL에서 조회하는 주체가 되는 Entity만 조회하여 영속화 Fetch Join 조회의 주체가 되는 Entity 이외에 Fetch Join이 걸린 연관 Entity도 함께 SELECT 하여 모두 영속화 즉, FetchType이 Lazy 인 Entity를 참조하더라도 이미 영속성 컨텍스트에 들어있기 때문에 따로 쿼리가 실행되지 않는다 Inner Join(일반 Join) 의 가장 큰 문제인 N + 1 의 문제가 Fetch Join 에서는 해결됨 쿼리문의 차이 Inner Join public List findAllWithMemberDeliver.. 2022. 7. 29. 이전 1 2 3 4 5 ··· 7 다음