본문 바로가기

Model Mapper2

[Model Mapper] - DTO와 Entity 변환 시 내부에 객체를 매핑하고 싶을 때 Model Mapper Deep 매핑 방법?? MVC 패턴에서 컨트롤러와 뷰, 모델 사이에는 DTO라는 데이터 박스를 사용해 데이터를 한꺼번에 전달한다. 이는 컨트롤러와 서비스에서도 마찬가지인데, 이렇게 해야 웹 레이어와 서비스 내부(도 linocraft.tistory.com 전에 품었던 의문을 해결했다. 결론적으로 Model Mapper는 내부의 객체까지 전부 자동으로 매핑해준다. 그러나 여기에는 두 가지 조건이 있는 것으로 확인했다. ( ※ Entity 클래스에는 절대 setter를 쓰지 않아야 한다. setter를 쓰지 않아도 잘 동작하며, 논리적으로도 엔티티는 DB에서 가져온 시점에서 불변이어야 앞뒤가 맞다. service 단에서 엔티티의 내부 값을 setter를 통해 자유롭게 변동하는 것을 허용.. 2024. 1. 29.
[Model Mapper] - Model Mapper 라이브러리 및 DTO, VO가 분리되는 이유 1. 웹 MVC 패턴 MVC 패턴은 웹에서 사용되는 기초적인 디자인 패턴으로, 사용자의 요청에 대해 컨트롤러가 주도적으로 요청을 받고, 그것을 해석해 모델에서 적절한 처리를 요청한뒤, 그 결과를 뷰에 전송하는 패턴을 말한다. 객체지향이 으레 그렇듯이, 이러한 분업의 원리는 각자 자신이 해야할 것을 독립적으로 분리하고 각자의 역할에 전담하기 위해서다. 뷰(view)는 데이터를 받아 적절한 데이터 구조 및 그래픽 모양에 알맞게 배치하는 역할을 담당하고, 컨트롤러(controller)는 사용자의 요청을 해석해 모델과 뷰를 이어주는 역할이다. 모델(model)은 다소 추상적인데, 컨트롤러와 뷰를 제외한 나머지가 모델로 불리는데다 내부적으로 다시 여러 계층의 합으로 구성되기 때문이다. 크게 보면 모델(Model).. 2024. 1. 16.