값 타입 컬렉션 듣다가 생성 질문합니다~
147
작성한 질문수 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번 방식을 사용하면 서비스 객체가 단순해지는 장점이 있습니다.
감사합니다.
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
55
2
inheritance startegy 선택시 고려사항
0
36
1
Entity 동등성 비교
0
38
1
실무 조언 관련 질문입니다.
0
65
1
H2데이터베이스 파일 생성
0
76
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
66
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
62
1
JPQL 메소드와 락
0
62
1
Delivery @OneToOne
0
70
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
104
2
UnsupportedOperationException 발생
0
97
3
H2 Database 연결이 안됩니다.
0
101
2
연관관계 매핑 질문드립니다.
0
93
2
h2데이터베이스 실행오류
0
114
2
persistence.xml
0
119
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
87
1
영속성 컨텍스트
0
74
1
JPA 프록시
0
105
1
Native Query와 MyBatis
0
81
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
97
1
임베디드 타입 예시 코드 관련 질문
0
125
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
100
3
인텔리제이 패키지 커서 단축키 질문
0
112
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
151
1





