• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

User 클래스에 @Getter사용시 컴파일 오류

24.02.10 19:53 작성 24.02.10 21:07 수정 조회수 136

0

User클래스의 getter들을 정리하고싶어서

Lombok의 @Getter 어노테이션을 사용해봤는데

컴파일 에러가 나요 ㅠㅠ


User 클래스를 @Getter로 만든사진


UserResponse 클래스가 getId/getName/getAge 메소드를

찾지 못했다는 에러가 발생합니다.


User 클래스에 Getter를 직접 만들어준 모습


정상작동하는모습


롬복은 컴파일 시점보다 빠르게 getter을 만들어주는게 맞는데,

제가 모르는 JPA관련 체킹로직이 롬복이 getter을

만들기전에 동작해서 오류가 발생하는걸까요?

다른 class들은 @Getter관련 문제가 없었거든요..

제 나름대로 왜 이럴까 + 해결방법을 고민해봤는데

잘모르겠어서 질문남깁니다...

질문입니다!!

@Entity가 붙은 class 에는 @Getter 어노테이션을 사용할 수 없나요:? 

+추가)

생성자 관련 어노테이션도 안되는것 같습니다.

2024-02-10 20:44:49.142 ERROR 15448 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : 
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; 
nested exception is org.springframework.orm.jpa.JpaSystemException: 
No default constructor for entity:  : 
com.group.libraryapp.domain.User; nested exception is org.hibernate.InstantiationException: 
No default constructor for entity:  : 
com.group.libraryapp.domain.User] with root cause

 

/////
@NoArgsConstructor(access=AccessLevel.PROTECTED)
/////////////////////////////////////////
protected User() {}

에러메세지에 No default construtor라는데

둘이 같지 않나요?


이거도 역시 직접 생성자를 만들어주니

문제없이 작동하네요..

롬복이 문제인걸까요?

 

답변 2

·

답변을 작성해보세요.

1

안녕하세요 영후이님!! 어이쿠 벌써 해결하셨군요!! 😊 👍

상황에 따라 아래 의존성도 추가해줘야 하는군요! 좋은 내용 공유해주셔서 감사합니다~~!

annotationProcessor 'org.projectlombok:lombok'

남은 설연휴도 잘 보내시고 언제든 궁금한 내용 있으시면 편하게 질문 주세요! 감사합니다! 🙏

1

영후이님의 프로필

영후이

질문자

2024.02.10

해결)

롬복이 문제라고 생각하고 찾아보니

Gradle 버전에 따라 Lombok 세팅방법이 다르더라구요..

잘 작동하네요 머쓱머쓱 ><