학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
안녕하세요 강사님 타임리프 부분이 가물가물해서 복습하고 있는 수강생입니다. 다름이 아니라 '타임리프 - 스프링 통합과 폼' 챕터 '입력 폼 처리' 강의에 질문이 있어서 글을 남깁니다. 지금 저는 JPA를 사용하면서 MVC 2 강의를 복습하고 있고, 기본 생성자의 접근 제한자를 모두 protected로 두고 사용하고 있습니다. 강의 내용 중, addForm을 Get으로 불러올 때, 빈 객체를 넘기셔서 일단 강의대로 적용하기 위해 public으로 접근 레벨을 변경하였으나, 여기서 문제가 발생하였습니다.
질문이 몇개 있어서 번호를 붙여서 질문하겠습니다!!
1. 기본 생성자를 사용하여 진행 시, save 및 update가 정상 작동하지 않습니다 (id를 제외한 모든 값이 null로 들어갑니다) 이 경우, 제가 생각하기에 flush가 동작하지 않아 그런 것 같은데, 정확한 버그 발생 이유와 해결 방안이 너무 궁금합니다!!ㅠㅠ
2. 결국 엔티티에서 빈 객체 생성자를 public으로 두고 싶지 않아, ItemDTO를 따로 만들어서 빈 객체를 생성하여 넘겨줬는데, 이렇게 해도 기능 자체는 정상 작동했습니다. 혹시 이 경우, 문제가 되는 점이 있을까요? (DTO => 엔티티 변환 과정 하나도 없이 그냥 ItemDTO만 전달했습니다)
바쁘실텐데 질문 읽어주셔서 감사합니다!! 또 항상 좋은 강의 제공해주셔서 강사님과 인프런 모든 분들에게 너무 감사드립니다!