• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

entity 객체에 기본생성자를 넣어주는 이유

24.02.26 19:52 작성 조회수 159

2

안녕하세요

User객체에 기본생성자를 넣어야 작동하는 이유가 궁금합니다

혹시 필드에 아무값도 넣지않을때를 대비해서 기본생성자를

사용하는건가요?

답변 1

답변을 작성해보세요.

1

안녕하세요 자바마스터하자님! 좋은 질문 감사합니다! 🙂

Entity 객체인 User에 기본 생성자를 넣어야 하는 이유는, JPA가 내부적으로 기본 생성자를 사용하기 때문입니다. 보다 구체적으로 말씀드리면 JPA는 DB에서 가져온 데이터를 기반으로 객체로 변환할 때 reflection 이라는 기술을 사용하는데요! 이때 기본 생성자를 사용해 Entity를 인스턴스화 하고 필드를 집어 넣어주는 방식으로 작동합니다.

따라서 JPA가 잘 동작하려면 기본 생성자가 필요합니다.

답변이 도움이 되었으면 좋겠습니다. 감사합니다! 🙏

감사합니다!