728x90
반응형
@Builder를 사용할 때
이러한 오류를 접하게 되었다.
확인해보니 @Builder 어노테이션을 사용한 Entity에 기본 생성자가 없어 나타난 오류였다.
분명 생성자를 만들어 주어도 같은 문제가 반복되었고 확인해본 결과, 문제는 @Builder 에 있었다.
JPA를 사용하려면 '디폴트 생성자' 가 필요하다.
하지만 @Builder 어노테이션은 빌드 클래스를 자동으로 만들어주는데, 이 과정에서 디폴트 생성자 대신 모든 필드값을 가지는 생성자만 생성해버린다고 한다.
따라서 @Builder 를 사용하고자 하는 클래스에 (나같은 경우는 Entity에)
@NoArgsConstructor 와 @AllArgsConstructor 를 추가해주면 해결된다.
@NoArgsConstructor | 파라미터가 없는 기본 생성자를 생성 |
@AllArgsConstructor | 모든 필드 값을 파라미터로 받는 생성자를 만듦 |
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "REVIEW")
public class Review {
Reference:
728x90
반응형
'스터디' 카테고리의 다른 글
[SpringBoot] Spring Data Jpa 사용 / Bean 등록 (1) | 2022.01.13 |
---|---|
[SpringBoot] [트러블슈팅] 스프링부트 AWS 구성 설정(aws configure) (6) | 2022.01.11 |
[SpringBoot] JPA / EntityManager 외래키 체크 설정 해제! - SQLIntegrityConstraintViolationException 해결법 (3) | 2021.12.31 |
[SpringBoot] 스프링 파일 사이즈 제한 오류 - FileSizeLimitExceededException (2) | 2021.12.30 |
[SpringBoot] @RequestBody란? (0) | 2021.12.24 |