인프런 커뮤니티 질문&답변

자바마스터하자님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

24강. 유저 테이블에 대응되는 Entity Class 만들기

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

해결된 질문

24.02.26 19:52 작성

·

257

2

안녕하세요

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

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

사용하는건가요?

답변 1

1

최태현님의 프로필 이미지
최태현
지식공유자

2024. 02. 26. 20:12

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

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

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

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

자바마스터하자님의 프로필 이미지

2024. 02. 27. 04:06

감사합니다!