Spring JPA

이태웅·2023년 7월 13일

새로 학습 한 내용



현재 2달이 가까워 지도록 학습을 하는 중이었는데 domain이라는 폴더에 entity라는 개념이 DB에 직접 접근 한다는 뜻이 무엇인지 잘 이해 하지 못했고 왜 request와 entity를 따로 다르게 사용하는지 몰랐는데
이번에 boot를 학습하면서 알게 되었다.

원래 계속 mysql DB에 접근을 할 때 계속 쿼리문에 Table이름을 직접 입력을 했었는데 위에 작성한 대로 db의 이름을 직접 입력하여 접근하는 것이 아닌 class에 table이름을 작성하고 그 class의 접근을 하여 DB에 접근하는 방식으로 사용하는 것을 보고 Entity의 대하여 학습 하게 되었다.

계속 학습을 하면서 mvc 구조에서 service와 controller의 대하여 왜 나누는지의 대하여 이해를 하지 못했다.
왜냐하면 service부분을 생략하고 직접 controller에서 코드를 작성하여 데이터의 접근하면 되는거 아닌가? 왜 굳이 service가 필요한 것일까? 하고 왜 필요한지를 잘 몰랐다.

물론 여전히 완벽하게는 이해하지 못했지만 계속 학습을 하면서 분리를 하는 이유를 알았는데 controller는 말대로 컨트롤만 하고 service에서 원하는 로직을 짜는 역할을 나누어 만든다. 그렇게 하고 controller에서 private final service를 하여 만들고 사용하게 된다.

다음과 같이 table의 member와 hobby를 서로 참조하도록 테이블을 설계하여 위에 사진과 같이 설정을 하였다.

profile
한 주의 배운 것 들을 기억

0개의 댓글