Description
[필수과제]
User 엔티티를 만들고, Post에 작성자 연관관계를 추가해주세요. 게시글 작성 시 userId를 받아서 연결해주세요
전체 API에 Swagger 어노테이션을 적용하고, Swagger UI에서 API를 직접 테스트해보세요. 테스트 화면을 PR에 첨부해주세요
BaseTimeEntity를 게시글에 적용해주세요
[심화과제]
Like 엔티티를 만들고, 좋아요 추가/취소 API를 구현해주세요.
같은 유저가 같은 게시글에 중복 좋아요를 누를 수 없게 예외처리해주세요
게시글 목록 조회 시 좋아요 수도 함께 반환해주세요. N+1 문제가 발생하지 않도록 fetch join을 적용하고, 적용 전후 실행되는 쿼리를 show-sql: true로 확인해서 PR에 비교해서 첨부해주세요
좋아요 동시성 문제를 @Version으로 해결하고, 낙관적 락 충돌 시 재시도 로직을 구현해주세요
게시글을 제목으로 검색하는 API를 JPQL @query를 사용해서 구현해주세요. 검색 결과에 작성자 닉네임도 함께 반환하고, fetch join으로 N+1이 발생하지 않도록 해주세요
PostRepositoryCustom 인터페이스와 PostRepositoryCustomImpl 구현체를 만들고, 위의 검색 기능을 QueryDSL로 재구현해주세요. 제목 키워드와 작성자 닉네임을 동시에 받아 동적으로 조건을 조합해주세요.
PostRepository가 JpaRepository와 PostRepositoryCustom을 함께 상속하도록 구성해주세요
To - Do
ETC
Description
[필수과제]
User 엔티티를 만들고, Post에 작성자 연관관계를 추가해주세요. 게시글 작성 시 userId를 받아서 연결해주세요
전체 API에 Swagger 어노테이션을 적용하고, Swagger UI에서 API를 직접 테스트해보세요. 테스트 화면을 PR에 첨부해주세요
BaseTimeEntity를 게시글에 적용해주세요
[심화과제]
Like 엔티티를 만들고, 좋아요 추가/취소 API를 구현해주세요.
같은 유저가 같은 게시글에 중복 좋아요를 누를 수 없게 예외처리해주세요
게시글 목록 조회 시 좋아요 수도 함께 반환해주세요. N+1 문제가 발생하지 않도록 fetch join을 적용하고, 적용 전후 실행되는 쿼리를 show-sql: true로 확인해서 PR에 비교해서 첨부해주세요
좋아요 동시성 문제를 @Version으로 해결하고, 낙관적 락 충돌 시 재시도 로직을 구현해주세요
게시글을 제목으로 검색하는 API를 JPQL @query를 사용해서 구현해주세요. 검색 결과에 작성자 닉네임도 함께 반환하고, fetch join으로 N+1이 발생하지 않도록 해주세요
PostRepositoryCustom 인터페이스와 PostRepositoryCustomImpl 구현체를 만들고, 위의 검색 기능을 QueryDSL로 재구현해주세요. 제목 키워드와 작성자 닉네임을 동시에 받아 동적으로 조건을 조합해주세요.
PostRepository가 JpaRepository와 PostRepositoryCustom을 함께 상속하도록 구성해주세요
To - Do
ETC