• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

@PersistenceContext와 @RequiredArgsConstructor 관련하여 궁금한 점이 있습니다.

23.09.09 17:51 작성 조회수 255

0

MemberRepository를 개발할 때, @PersistenceContext를 사용할 때와 @RequiredArgsConstructor를 사용할 때 테스트 결과가 달라져서 문의남깁니다.

@PersistenceContext
private EntityManager em;

은 가능하지만, @RequiredArgsConstructor를 사용할 때는 final이 들어가야만 하던데 왜 그런지 알 수 있을까요?

답변 1

답변을 작성해보세요.

1

OMG님의 프로필

OMG

2023.09.10

안녕하세요. 정성엽님, 공식 서포터즈 OMG입니다.

@RequiredArgsConstructor 롬복 어노테이션은 final 키워드가 선언된 필드에만! 생성자 주입이 발생합니다.

@PersistenceContext의 경우 final이 선언되지 않아도 됩니다. 두 어노테이션의 차이로 보시면 될 것 같습니다.

 

@RequiredArgsConstructor를 사용하려면 final 혹은 @NonNull 어노테이션을 선언해주세요.

감사합니다.