MDP
2023- 12-08 CRUD 구현 본문
가게에 대한 리뷰를 작성하기 위하여 CRUD 기능 구현을 담당하였는데 기존에 강의에서와는 다른 새로운 방식으로
작성하였습니다.
그 중 가장 힘겨웠던 부분이 Entity에서 메서드 사용금지, setter 사용금지 때문에 기존에 사용했던 방식을 쓰지 않고 새로운 방식으로 코드를 구현하였습니다.
기존 Create
public BookResponseDto createBook(BookRequestDto req){
Book saveBook = new Book(req);
bookRepository.save(saveBook);
return new BookResponseDto(saveBook);
}
현재 작성한 Create
public ReviewSaveRes saveReview(ReviewSaveReq req) {
ShopEntity shopEntity = findShop(req.getShopId());
UserEntity userEntity = findUser(req.getUsername());
return ReviewServiceMapper.INSTANCE.toReviewSaveRes(
reviewRepository.save(ReviewEntity.builder()
.shopEntity(shopEntity)
.content(req.getContent())
.imageUrl(req.getImageUrl())
.userEntity(userEntity)
.build()));
}
기존 방식에서는 Entity에서 아래와 같이 메서드를 선언 후 Service에 생성자를 선언하여 repository.save를 통해 db에 저장됩니다.
public Book(BookRequestDto res){
this.name=res.getName();
this.author=res.getAuthor();
}
그러나 이번에 진쟁한 프로젝트 방법에서는 Entity에 메서드를 선언하지 않고 builder를 사용하여 epository.save를 통해
db에 저장하였습니다.
'TIL' 카테고리의 다른 글
자바 - 객체지향프로그래밍 (2024 - 07 - 08) (0) | 2024.07.08 |
---|---|
2024-01-08 (0) | 2024.01.09 |
2023-11-10 (0) | 2023.11.13 |
2023-11-07 (0) | 2023.11.07 |
2023-11-06 (0) | 2023.11.06 |