답변 1
6
안녕하세요. jsungmin6님
JPA 구현체들은 엔티티를 내부에서 다양한 방식으로 사용합니다.
예를 들어서 엔티티를 JPA 구현체가 생성할 때 리플렉션을 사용해서 객체를 먼저 생성하고, 나중에 값을 필드에 직접 넣어주기도 합니다.
이런 경우 final이면 안되겠지요?
지연로딩 등을 위해 프록시 기술을 사용하기도 합니다.
이렇게 다양한 방식으로 JPA 구현체들이 사용할 수 있도록 JPA는 스펙상 final을 사용하지 못하도록 막아두었습니다.
감사합니다.