JPA에서 엔티티 기본 생성자

yshjft·2022년 5월 17일
1

⚠️ 내용이 틀렸을 수도 있습니다 ⚠️

JPA 엔티티와 기본 생성자

JPA에서 Lazy 로딩이라는 기능이 있는데 이는 조회시 연관된 실제 객체를 가져오는 것이 아니라 proxy 객체를 가져오는 것을 의미한다. 이 때 proxy 객체를 생성할 때 public 또는 protected 기본 생성자가 필요하다.

문제는 기본 생성자와 setter를 사용하여 객체를 생성할 경우 무분별하게 객체를 생성할 수 있다는 문제를 가지게 된다는 것이다. 따라서 private은 사용할 수 없으니 최대한 작은 접근 제한 범위를 설정하기 위해 protected를 기본 생성자의 접근 제한자로 설정해야 한다.

참고 자료

profile
꾸준히 나아가자 🐢

0개의 댓글