MDP

2023- 12-08 CRUD 구현 본문

TIL

2023- 12-08 CRUD 구현

모다팡 2023. 12. 8. 03:15

가게에 대한 리뷰를 작성하기 위하여 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