@Repository
@RequiredArgsConstructor
public class BoardRepository {
private final EntityManager em;
public void save(Board board) {
if (board.getId() == null) {
em.persist(board);
} else {
em.merge(board);
}
}
//조회 로직
public Board findOne(Long id) {
return em.find(Board.class, id);
}
public List<Board> findAll() {
return em.createQuery("SELECT b FROM Board b", Board.class)
.getResultList();
}
//삭제 로직
public void deleteBoard(Board board) {
em.remove(board);
}
}
Board에는 특별히 merge()를 사용해주었는데 간단히 말해서 병합이나 업데이트 정도라고 생각하면됩니다. 기존에 있는 게시판을 수정하여 올릴때의 경우를 생각하여 사용해주었습니다.
그리고 조회, 삭제 메소드를 만들어주었습니다.