양방향 매핑

보더엔티티에 이거추가

private List<Reply> replies = new ArrayList<>();

하지만 리스트는 필드화 될 수 없다.

그래서 @OneToMany(mappedBy = "board", fetch = FetchType.*LAZY*) 를 위에 붙혀줘야 한다.

여기서 board는 Entity 객체의 변수명 == FK의 주인이다.

원투매니는 레이지가 디폴트 전략이다.

조인 해서 한방에 가져오기

보더 서비스 가서 이거 작성

left join 안하면 댓글이 없는 게시글이 상세보기 할 때 안보인다.

@Query("select b from Board b join fetch b.user u left join fetch b.replies r where b.id = :id")
Optional<Board> findByIdJoinUserAndReplies(@Param("id") int id);

보더 가서 테스트

@Test
public void findByIdJoinUserAndReplies_test(){
    // given
    int id = 4;

    // when
    Board board = boardJAPRepository.findByIdJoinUserAndReplies(id).get();

    // then
}

Untitled