Back-end

JPA Entity 기본 생성자

신재권 2023. 9. 29. 19:03

JPA는 인수없는 기본 생성자가 존재해야 한다.

JPA에서는 public 또는 protected로 정의해야 한다.

JPA는 DB 값을 객체 필드에 주입할 때 기본 생성자로 객체를 생성하고, Reflection을 사용하여 값을 매핑한다.

만약 private 생성자를 만들게 되면 지연 로딩으로 인해 생성된 프록시 객체를 사용하는데 제약이 생긴다.

그래서 Entity에는 public, protected scope를 가진 기본 생성자가 필요하다.