JPA Entity에는 왜 기본 생성자가 필요할까요? #163
Replies: 2 comments
-
JPA 구현체는 엔티티를 데이터베이스에서 조회해 올 때 리플렉션을 사용하여 객체를 인스턴스화합니다. 또한 프록시와 지연 로딩때문에 기본 생성자가 private이면 안됩니다. |
Beta Was this translation helpful? Give feedback.
-
JPA 엔티티 클래스는 기본 생성자를 필요로 하는 이유는 다음과 같습니다. 리플렉션 사용 프록시 객체 생성을 위해 JPA 표준 준수 추가로 기본 생성자의 접근 제어자가 private이어도 컴파일 타임에 예외가 발생하지 않습니다. 프록시 객체를 사용할 일이 없다면 애플리케이션은 정상 동작합니다. 참고로 리플렉션을 통해 기본 생성자의 파라미터 정보를 받아올 수 없다는 것은 부정확한 정보입니다. 여기를 참고해 주세요. 참고 자료 https://docs.jboss.org/hibernate/orm/3.5/reference/en/html/persistent-classes.html#persistent-classes-pojo-constructor |
Beta Was this translation helpful? Give feedback.
-
proxy 객체
Beta Was this translation helpful? Give feedback.
All reactions