스진초/3주차
[스진초] 3주차 과제 - DTO Entity 변환
suniverse
2023. 11. 15. 22:23
public void save(FoodDto foodDto){
Food food = new Food();
food.setFoodId(id);
food.setFoodName(foodDto.getFoodName());
food.setFoodPrice(foodDto.getFoodPrice());
food.setFoodOption(foodDto.getFoodOption());
food.setFoodRegister(foodDto.getFoodRegister());
db.put(id++, food);
}
흠...
내가 찾아보기로 Entity 계층에서는 setter 사용을 지양한다고 한다. (물론 사용이 불가능 한 건 아니지만)
엔티티는 디비와 직결되는 부분이라 변경이 쉽지 않아야 하기 때문이다.
그런데 dto로 변환 하려고 하니 setter가 필요하지 않을까 라는 생각이 들었다.
그래서 일단 엔티티 클래스에 setter를 만들었고, dto에서 getter 메서드를 통해 dto를 엔티티로 변환시켰다.
나는 그리고 Repository 클래스에서 변환을 했는데 이유는 단순하다.
repository는 db와 관련된 부분을 처리하는 곳이다.
그래서 dto entity 변환도 repository에서 해야 하는게 맞지 않을까? 라고 생각했다.
뭐 정답이 아닐 수는 있겠지만 내 생각은 그렇다.