개요
JPA의 Entity에 @NoargsConstructor(AccessLevel.PROTECTED)를 적용시키는 이유에 대해 궁금해 공부해 봤다.
JPA는 기본적으로 기본생성자(파라미터가 없는)가 필요하다. (Reflection글 참조)
근데 옵션으로 PROTECTED를 사용하는 이유에 대해 알아보자.
본문
Private로 설정하면 JPA에서 연관관계로 로딩 시 프록시 객체를 생성할 때 이용하지 못하므로 private는 사용하면 안 된다.
대안으로 Protected를 사용하므로 써 무분별한 객체 생성을 막을 수 있다.
'JPA' 카테고리의 다른 글
JPA MultipleBagFetchException에러 해결하기 (0) | 2024.01.20 |
---|---|
JPQL(Java Persistence Query Language) (0) | 2024.01.03 |
값 타입, 값 타입 컬렉션 (0) | 2023.09.01 |
임베디드 타입 (0) | 2023.08.31 |
기본값 타입 (0) | 2023.08.31 |