😊 느낀점
오늘 질문 시간에 시험은 웹 페이지를 만들어 배포하는거라고 하셨는데... 코딩 테스트 보다 좋다 ㅋㅋㅋ
다른 시험에서 웹 페이지를 만들어서 배포한 경험이 있기 때문에 오히려 좋다라는 느낌이지 잘할거라는 의미는 아니다.
어느 정도의 난이도로 나올지 모르니 미리미리 공부하면서 준비해야겠다.
예전에 다른 시험 준비할 때 노션에 열심히 틀을 만들었는데, 이번 시험에도 아주 유용하게 쓰일 듯 하다.
🧐 배운점
스프링 강의 예제에서는 편의상 Setter를 항상 열어두는데, 강사님께서는 항상 Setter는 필요한 부분이 아니면 열지 말고, 메서드를 제공하라고 하셨다. 관련해서 오늘 매니저님한테 질문했는데, 엔티티와 같이 변경에 대해 중요한 부분에는 Setter를 열지 않고 DTO나 변경이 중요하지 않은 부분에서는 Setter를 사용해서 유연하게 설계할 수 있도록 한다고 하셨다.
즉, 변경이 중요한 부분에는 Setter를 쓰지말고 메서드 제공, 변경이 중요하지 않으면 유연하게 Setter를 열어 설계!
영속 상태로 관리 되는 엔티티는 Dirty Checking을 해서 알아서 업데이트 쿼리를 날린다니... 스프링 너무 편한거 아냐?
코드적으로는 준영속 엔티티를 수정하는 방법이 merge 방법이 더 간결하지만, 병합 방식은 파라미터로 넘어온 엔티티의 속성 값으로 전부 바꿔버리기 때문에, 해당 속성 값이 없으면 DB에 null로 저장될 수 있다.
그러니 조금 귀찮아도 변경 감지 방식(더티 체킹)을 사용하자.
728x90
'TIL' 카테고리의 다른 글
[TIL - 20230320] (0) | 2023.03.20 |
---|---|
[TIL - 20230318] (1) | 2023.03.18 |
[TIL - 20230316] (0) | 2023.03.16 |
[TIL - 20230315] (0) | 2023.03.15 |
[TIL - 20230314] (0) | 2023.03.14 |