값 타입 컬렉션 듣다가 생성 질문합니다~
163
작성한 질문수 2
연관관계에서 각종 생성, 조회 등에 대해서 배울 수 있어서 좋았습니다.
그런데, 생성에 대해서 궁금증이 생겼는데요
예를 들어 주문 서비스를 만들 때 주소가 간단하다면 주소 객체를 생성과 삽입이 주문 서비스 내에서 처리가 가능합니다
(여기서 Address는 엔티티라고 가정하겠습니다!)
Address address = new Address();
address .setCity("seoul");
address .setZipCode("123123");
order.setAddress(address);
이런식으로 주문 Service에 Address 객체를 생성해서 set하면 됩니다
그런데, 혹시 Address가 너무 복잡한 로직이 필요해서
Address address = AddressService.makeAddress(addressDto);
이렇게 서비스를 한번 거쳐서 주소를 입력하도록 만든다면....
다음 중에 어떤 방식으로 구현하는게 맞을까요?
1. Controller에서 미리 Address를 만들고 주문 서비스의 매개변수에 넣어준다
*OrderController.java
Address address = AddressService.makeAddress(addressDto);
OrderService.order(orderDto, address);
2. 주문 Service 안에서 Address를 만들어서 넣는다
*OrderService.java
Address address = AddressService.makeAddress(addressDto);
order.setAddress(address);
어느 방식이 효율적일지 질문드립니다~!
답변 1
0
안녕하세요. 찬수님
저는 사실 1,2번이 상황에 따라서 장단점이 있다 생각합니다.
2번 방식이 서비스 로직에서 이런 부분을 해결하기 때문에 더 선호됩니다.
그런데 파라미터를 서비스에 추가로 넘기고 Address를 만들어야 하기 때문에 서비스 객체가 복잡해집니다.
1번 방식을 사용하면 서비스 객체가 단순해지는 장점이 있습니다.
감사합니다.
안녕하세요 늦은 나이 늦깎이 개발자 지망생입니다.
0
11
1
질문있습니다.
0
65
1
리뉴얼 시기
0
135
2
변경감지(더티체킹) 이후 플러시할 경우의 쿼리
0
101
1
단일 테이블 시 null 값과 연관관계 필요성 질문
0
92
1
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
125
2
inheritance startegy 선택시 고려사항
0
90
1
Entity 동등성 비교
0
83
1
실무 조언 관련 질문입니다.
0
114
1
H2데이터베이스 파일 생성
0
129
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
1
123
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
106
1
JPQL 메소드와 락
0
107
1
Delivery @OneToOne
0
114
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
189
2
UnsupportedOperationException 발생
0
203
3
H2 Database 연결이 안됩니다.
0
155
2
연관관계 매핑 질문드립니다.
0
151
2
h2데이터베이스 실행오류
0
166
2
persistence.xml
0
206
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
146
1
영속성 컨텍스트
0
122
1
JPA 프록시
0
159
1
Native Query와 MyBatis
0
141
1





