[Spring] 하나의 서비스에서 여러레포지토리를 호출한다? 지양해야함 !

hyewon jeong·2023년 1월 21일
0

Spring

목록 보기
25/65

하나의 서비스에서 다른레포지토리들까지 여러레포를 호출한다? 지양해야함 !

    @Transactional
    public void orderCancelingProcessing(Long orderId, Long sellerId) {
        Orders order = orderRepository.findById(orderId).orElseThrow(() -> new CustomException(ExceptionStatus.Order_IS_NOT_EXIST));
        User customer = userRepository.findById(order.getCustomerId()).orElseThrow(() -> new CustomException(ExceptionStatus.USER_IS_NOT_EXIST));
        Product product = productRepository.findById(order.getProductId()).orElseThrow(() -> new CustomException(ExceptionStatus.Product_IS_NOT_EXIST));

유저서비스 - 프로덕트레포 ( 유저가 상위레벨로 보이는데, 유저서비스에서 프로덕트레포를 많이 쓴다면 유저서비스 말고
프로덕트서비스에 하는게 좋다. )

  • order 의 경우 orderrepository,productrepository,userrepository를 다부르게 되는데 직접호출이 지양이면

대안 ?

repository를 직접 호출하는 것보다는 해당 서비스에 메서드를 만들어 서비스를 호출 하는것이
로직 유추 등등 좋다.


profile
개발자꿈나무

0개의 댓글