• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.10.24 14:14 작성 조회수 147

0

@Entity적용시

-기본생성자는 필수

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

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

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

답변 1

답변을 작성해보세요.

0

codesweaver님의 프로필

codesweaver

2022.10.25

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

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

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

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

감사합니다.