<aside> 📌
엔티티 전부를들고와서 PC에 띄우는 형식으로 돼있다. 필요한 컬럼만들고 오는걸로 변환하자.
</aside>
@Query("SELECT b,a FROM BookHistory bh JOIN bh.book b join bh.book.author a GROUP BY b.id ORDER BY COUNT(bh.id) DESC")
List<Book> findBooksByHistory();
@Query("SELECT b,a FROM BookHistory bh JOIN bh.book b join bh.book.author a WHERE bh.createdAt >= :startOfWeek AND bh.createdAt <= :endOfWeek GROUP BY b.id ORDER BY COUNT(bh.id) DESC")
List<Book> findWeekBestSellers(@Param("startOfWeek") LocalDateTime startOfWeek, @Param("endOfWeek") LocalDateTime endOfWeek);
@Query("SELECT b FROM BookHistory bh JOIN bh.book b JOIN fetch bh.book.author a WHERE bh.createdAt >= :startOfDay AND bh.createdAt <= :endOfDay GROUP BY b.id ORDER BY COUNT(bh.id) DESC")
Page<Book> findTopDayBestSeller(@Param("startOfDay") LocalDateTime startOfDay,
@Param("endOfDay") LocalDateTime endOfDay,
Pageable pageable);
@Query("SELECT bh FROM BookHistory bh JOIN FETCH bh.book b JOIN FETCH bh.user u WHERE u.id = :userId")
List<BookHistory> findBookHistoryByUserId(@Param("userId") Integer userId);
<aside> 📌
필요한 컬럼만 들고 오려고하니 JPA가 매핑되는 엔티티를 찾지 못해서 오류가 났다
</aside>