JPA

@NoargsConstructor(AccessLevel.PROTECTED)

salmon16 2024. 6. 19. 19:15

 

개요

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