인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
final 필드에 대한 의문점
작성
·
1.4K
0
안녕하세요 영한님. 강의를 듣다가 궁금한 점이 있어 질문드립니다.
우선 엔티티 클래스에 final 지시어를 사용하지 못하는 이유는 JPA 내부에서 프록시 객체가 엔티티 클래스를 상속받기 위함으로 알고 있습니다.
그런데 제가 궁금한 점은 엔티티 클래스 내부에 있는 final 변수에 관한 것 인데요. final 변수에 초기화를 해주고 persist, commit까지 진행해본 결과 DB에 값이 주입은 되더라구요. (기본 생성자에 final 변수를 초기화하는 방법으로 진행했습니다.)
그래서 사용하지 말라고 하신 이유에 대해서 제 나름 생각해 보았는데요. 영한님은 테이블에 저장할 필드에 final 변수를 사용하면 안 된다고 설명해 주셨습니다. 이 이유는 테이블에 값을 주입할 수는 있으나 값을 수정할 수 없는 의미 없는 필드가 되어버리기 때문인건가요?
퀴즈
66%나 틀려요. 한번 도전해보세요!
JPA에서 클래스를 엔티티로 매핑하기 위해 `@Entity` 어노테이션을 사용할 때, 해당 클래스가 기본적으로 갖춰야 할 중요한 조건은 무엇일까요?
모든 필드가 public이어야 한다
final 클래스여야 한다
public 또는 protected 기본 생성자가 있어야 한다
static 메소드를 하나 이상 포함해야 한다





