인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

lena님의 프로필 이미지
lena

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

영속성 컨텍스트 2

DB 쿼리 시 꼭 기본생성자(no argument)가 필요한가요?

작성

·

394

0

안녕하세요 강사님^^!

강의를 따라 코드를 작성하면서 Main의 update코드를 날렸더니, @NoArgsConstructor가 없는 경우에는 update가 동작하지 않더라구요. 

'기본생성자 없음' 오류가 뜨는데, 일반적인 java코드에선 꼭 @NoArgsConstructor가 없어도 동작하였는데 JPA에서 동작하지 않는 이유가 무엇일까요?

혹 DB에서 쿼리 시에 @NoArgsConstructor를 필요로 해서일까요??

Member.class

JpaMain.class

감사합니다.:)

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. Y H님

JPA 스펙상 기본 생성자가 필수입니다.

JPA 구현체들은 기본 생성자가 있어야, 리플렉션 같은 기술을 사용해서, 기본 생성자를 기반으로 객체를 프록시 하거나 내부에서 생성해서 사용하는 등 다양하게 사용합니다.

그래서 기본 생성자는 꼭! 있어야 합니다.

감사합니다.

lena님의 프로필 이미지
lena

작성한 질문수

질문하기