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

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

김민지님의 프로필 이미지
김민지

작성한 질문수

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

플러시

@Entity적용시 제약사항이 필요한 이유

작성

·

198

0

@Entity적용시

-기본생성자는 필수

- final클래스, enum,interface,inner클래스에는 사용할 수 없음

- 저장할필드에 final을 사용하면안된다

-> 이런 제약조건이 붙는 이유는 뭔가요?

답변 1

0

안녕하세요, 김민지 님! 공식 서포터즈 codesweaver 입니다.

JPA를 실제로 구현하기 위해선

하이버네이트 내부에서 엔티티들을 생성하거나 상속받아 프록시 객체를 만드는 등, 여러가지 작업을 해야 합니다. 그래서 하이버네이트 내부 처리를 위해 필요한 제약입니다.

값을 저장할 필드에 final을 붙이면 안되는 것은, final 을 붙이면 객체를 생성한 이후 이 값을 변경할수가 없기 떄문입니다. final 을 처음 할당한 값을 절대 변경할 수 없다는 자바 문법입니다.

감사합니다.

김민지님의 프로필 이미지
김민지

작성한 질문수

질문하기