티스토리 뷰

1. DTO 클래스 생성하고 이악물고 setter 안 열고 생성자 주입 방식으로 구현하려고 시도한것.

 

예전에 김영한님 스프링 강의 수강하면서 "setter는 절대로 열면 안된다" 라는 말이 계속 맴돌아

생성자로 어떻게는 구현하려고 고집이 아닌 고집을 부리게 되었다.

 

결과적으론 내 고집이 크나큰 삽질이였고 나는 해답을 찾기 위해 열심히 검색을 하고 또 검색을 했다...

그렇게 한참 검색을 하던 와중에 인프런 QnA에서 DTO는 setter를 꼭 열어야 하냐는 질문을 발견했다.

 

답변에 영한님이 setter는 최대한 사용하지 않는게 좋다고 하셨다.

그렇지만 DTO 경우는 어떤 로직이 있는게 아니라서 단순 데이터 전달이라 자유롭게 사용해도 된다는 답변이였다.

 

정리하자면

 

DTO는 로직 자체가 없고 단순 데이터 전달이 목적 => setter 사용 가능

Entity는 로직이 있고 실제 데이터 변경이 가능하므로 setter 사용 최대한 X

필요한 경우 따로 메소드 만들어서 쓰는게 좋다

 

이 사실을 얻을려고 몇시간을 허비했다

그래도 삽질했던 그 시간 동안 깨달은게 있고 얻은게 있으니 기쁩니다

 

오늘 내가 한 삽질은 헛되지 않았다.

 

관련 링크

DTO 사용에대해 궁금합니다. - 인프런 | 질문 & 답변 (inflearn.com)

 

 

2.  JPA 연관관계 맵핑 에러

 

나는 데이터베이스에 자신없다.

전직장에서 근무하는 동안 내내 오라클 데이터베이스를 접하고 사용했음에도 불구하고

나는 아직도 익숙하지 않고 항상 부족하다고 느껴왔다.

 

아침에 영한님의 JPA 강의를 다시 복습하면서 자신감이 생겨

당장 비주얼 스튜디오 코드를 켜고 db 설계 하면서 빨리 코딩하고 싶다는 생각 뿐이였다.

 

설계를 다 끝내고, 인텔리제이를 켜서 간단한 JPA 개발을 시도했다.

낮설었고 익숙하지 않았던 처음과 달리 순탄하게 잘 진행되고 있었다.

그렇게 자신감이 뿜뿜하게 상승되고 있던 중...

 

코딩을 다하고 서버가 잘 돌아가나 보고 있었는데

JPA Entity 쪽에서 연관관계 맵핑이 잘못되었다고 에러가 난 것이다.

 

난 분명 정확하게 했는데 뭐가 문젠지 몰라 일단 구글링을 미친듯이 했다.

검색해봐도 모르겠네...

 

일단 닥치는대로 코드 수정을 열심히 했다

여러번 시행 착오 끝에 서버가 정상적으로 돌아갔다

 

코드를 다 고치고 나서 다시 검색을 했더니

내가 무엇을 잘못 코딩했는지 그제서야 깨달았다.

 

아침부터 db 설계하면서 "히히 재밌당 역시 나는 천상 개발자인가봐" 라는 생각을 하며

기분 좋게 작업을 했는데 코딩하면서 오류 몇번 만났다고 금방 좌절해버리는 경험을 했다.

 

어쩌면 이게 우리네 인생 축소판이 아닐까 라는 생각이 든다.

 

다음부턴 이런 실수는 안하려고 블로그에 기록하려 한건데

글을 적다보니 에러를 만나서 머리 아팠던 썰만 풀었네.

 

앞으로 같은 에러를 보는 일들이 반복되지 않았으면 좋겠습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함