분류 전체보기 110

TIL 250109

최종 프로젝트 진행중 오늘 한 것레저/티켓 상품 전체 조회  레저/티켓 상품을 전체 조회할 수 있고, 상품명으로 검색할 수도 있도록 구현트러블슈팅 작성 최종 프로젝트 트러블슈팅(1) - pageable검색 결과를 페이징 처리 하여 조회 할 수 있는 기능을 구현하던 중,public List findAllProducts(int page, int size, String productName) { Pageable pageable = PageRequest.of(page, size); if (productName != null && !productName.isEmpty(muerha.tistory.com 레저/티켓 상품 단 건 조회  일정을 포함해 레저/티켓 상품을 단 건 조회레저/티켓 일정 등록트러블슈팅 작성 최종..

TIL 2025.01.09

최종 프로젝트 트러블슈팅(2) - 순환 참조 문제

상황일정 등록 api를 구현하고 테스트하는 과정에서 예상치 못한 에러가 발생했다. 로그를 확인해보니 순환 참조 문제가 발생했다는 것을 확인할 수 있었다.  순환 참조(Circular Reference)서로 다른 빈들이 서로 참조를 맞물리게 주입되면서 생기는 현상   문제나같은 경우는 PartService와 ProductService가 서로를 참조하면서 발생한 문제였다. ProductService의 findProduct 메서드에서 partService.findPartsByProductId(productId)를 호출PartService는 다시 ProductService의 메서드를 호출하면서 무한 루프 발생  원인ProductService에서 PartService를 직접 호출하여 Part 엔티티 리스트를 조회..

내배캠 2025.01.09

TIL 250108

최종 프로젝트 진행중 오늘 한 것테이블 분리 상품의 활동 시작/종료 시간을 인원수와 함께 별도의 테이블로 분리레저/티켓 상품 생성 파트너가 상품을 직접 등록레저/티켓 상품 수정 본인이 등록한 레저/티켓 상품만 수정할 수 있도록 추후 수정레저/티켓 상품  삭제본인이 등록한 레저/티켓 상품만 삭제할 수 있도록 추후 수정 내일 할 것레저/티켓 상품 조회레저/티켓 상품 전체 조회모두 모든 레저/티켓 상품을 전체 조회할 수 있고, 상품명으로 검색할 수도 있도록 구레저/티켓 상품 단 건 조회일정을 포함해 레저/티켓 상품을 단 건 조회   튜터님 피드백에 따라 여행 상품을 여러개 생성하지 않게 만들기 위해 상품의 활동 시작/종료 시간을 인원수와 함께 별도의 테이블로 분리하였다.. !!

TIL 2025.01.08

TIL 250107

최종 프로젝트 오늘 한 것레저/티켓 업체 생성 관리자가 업체를 직접 등록레저/티켓 업체 조회전체 조회 - 페이지네이션 적용단건 조회레저/티켓 업체 수정관리자만 업체 수정 가능레저/티켓 업체 삭제관리자만 업체 삭제 가능 내일 할 것레저/티켓 상품 생성파트너가 레저/티켓 상품을 등록레저/티켓 상품 조회상품명, 업체, 가격 범위, 기간 검색?레저/티켓 상품 수정(보류)파트너는 본인이 등록한 레저/티켓 상품만 수정 가능레저/티켓 상품 삭제(보류)파트너는 본인이 등록한 레저/티켓 상품만 삭제 가능

TIL 2025.01.07

TIL 241224

Proxy란?JPA에서 엔티티 객체의 지연 로딩(Lazy Loading)을 지원하기 위해 사용하는 대리 객체.실제 엔티티 객체를 생성하거나 데이터베이스에서 값을 읽어오지 않고도 엔티티의 참조를 사용할 수 있다.     지연로딩(Lazy Loading)과 즉시로딩(Eager Loading) 지연 로딩(Lazy Loading)데이터를 실제로 사용할 때 DB에서 조회하는 방식@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "company_id")private Company company; 지연 로딩을 사용하면 연관된 객체를 Proxy로 조회한다.실제 값에 접근할 때 조회 SQL이 실행    즉시 로딩(Eager Loading)엔티티를 조회할 때 연관된 데이터까지 ..

TIL 2024.12.24

TIL 241219

Filter와 Interceptor   InterceptorSpring MVC에서 제공하는 기능HandlerMapping과 Controller 사이에서 요청을 가로챈다.  Filter와의 차이점동작 위치:Filter: Servlet 컨테이너 수준에서 동작. DispatcherServlet 전에 실행.Interceptor: Spring 컨텍스트 내에서 동작. Controller 전에 실행.사용 목적:Filter: 인증, 인코딩, 로깅 등 전역적인 요청 처리에 사용.Interceptor: 비즈니스 로직 전후의 세밀한 제어가 필요할 때 사용.Request/Response 조작 가능 여부:Filter: ServletRequest, ServletResponse 객체를 조작할 수 있다.Interceptor: Htt..

TIL 2024.12.19

TIL 241213

Bean Validation Annotation@Nullnull 이어야 한다. 모든 타입 허용@NotNullull을 허용하지 않는다. " ", ""은 허용@NotEmptynull과 ""를 허용하지 않는다. " "는 허용collection의 경우 null이 아니고 크기가 0이 아닌지 검사한다.@NotBlanknull과 "", " "를 허용하지 않는다.   STORE DTO 피드백 StoreCreateResponseDto → CreateStoreResponseDto (rename)Bean Validation Annotation 찾아보고 적용하기minPrice → minOrderPiceRequestDto, ResponseDto 기능 별로 나누기

TIL 2024.12.13