삽질..

맞딱뜨린 오류와 그 해결을 위한 여정을 짧게 기록합니다.
삽질..

2시간 삽질했던 "JpaRepositoryImpl"

하........ 개빡친다... ShortenUrl 엔티티를 저장하는 다음과 같은 JPA Repository를 정의했다. @Repository public interface UrlRepositoryJpa extends JpaRepository { Optional findByShortenUrl(String shortenUrl); } 뭐 별거 없지? 해당 인터페이스는 infrastructure 패키지에 있었고, 결과적으로는 domain 패키지의 UrlRepository를 구현해야했기 때문에 JPA Repository를 구성으로 사용하는 Impl 클래스를 만들었다. @Repository @RequiredArgsConstructor public class UrlRepositoryJpaImpl implements..

삽질..

[MySQL / RDS] 서버 시간 바꾸기 (해결 못함)

# 문제상황 아마존 RDS 서비스로 MySQL 서버 인스턴스를 띄웠다. JPA의 entity 설정에서 LocalDateTime createAt을 @CreatedAt으로 설정해주었기 때문에 엔티티가 DB에 저장될 때 자동으로 DB 서버 시간에 맞춰 해당 필드에 시간을 넣어줄 것이다. @Getter @Setter @EntityListeners(AuditingEntityListener.class) // for CreatedDate @MappedSuperclass // jpa 상속된 jpa entity class -> 매핑 정보 전달 public class BaseEntity { @CreatedDate @Column(updatable = false) private LocalDateTime createdAt; @..

삽질..

[ResponseEntityExceptionHandler] + /favicon.ico 이틀동안 날 괴롭힌 놈들

# 문제상황 : MissingServletRequestParameterException search 기능을 구현하는 와중이었다. query parameter로 search keyword를 받으려는 상황이다. /search?keyword=검색할+키워드 controller 코드이다. @RequestParam으로 required=true인 String keyword를 받았다. /search 경로로 온 요청에서, 쿼리 파라미터로 keyword에 해당하는 값이 없으면 MissingServletRequestParameterException이 던져질 것이다. @GetMapping("/search") public String searchFarLog(Model model, @RequestParam(value = "key..

삽질..

[QueryDsl] Pagination + FetchJoin 이게 무슨일이요.

# 문제 상황 .offset, .limit을 이용하여 페이지네이션을 진행하는 querydsl 쿼리를 작성했다. Pageable 객체를 이용했다. N+1 문제 해결을 위해 연관 관계 엔티티를 fetchJoin까지 한 상황이다. List farmLogs = jpaQueryFactory .selectFrom(farmLog) .leftJoin(farmLog.likers).fetchJoin() // 좋아요한 사람들 fetch join .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .orderBy(farmLog.createdAt.desc()) .fetch(); 일단 쿼리 결과는 나오지만? # firstResult/maxResults specified w..

김부추
'삽질..' 카테고리의 글 목록