lombok @Builder 와 @NoArgsConstructor 같이 사용할때 예외
예외유발
@Entity
@Builder
@Getter
@NoArgsConstructor
public class AccountEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // AutoIncrement
private Long id;
@Column(length = 25, nullable = false)
private String email;
@Column(length = 20, nullable = false)
private String password;
}
//빌드 에러 전문
/Users/autocat/dev/personal/omr/src/main/java/com/ohmyraid/domain/account/AccountEntity.java:10: error: constructor AccountEntity in class AccountEntity cannot be applied to given types;
@Builder
^
required: no arguments
found: Long,String,String
reason: actual and formal argument lists differ in length
이유
JPA 규약에 따라 엔티티클래스에 @NoArgsConstructor
를 생성했다. 인자를 가진 생성자를 정의하면 기본생성자가 자동으로 생성되지 않으므로, 인자를 가진 생성자가 필요하다면(@Builder
) 반드시 기본생성자도 함께 정의해야한다.
요약
@Builder
와@NoArgsConstructor
를 함께 사용하려면@AllArgsConstructor
를 함께 사용
'개발' 카테고리의 다른 글
[Design Pattern] 객체지향의 5대 원칙 Solid원칙 (0) | 2021.07.24 |
---|---|
[Spring] Bean을 주입받을때, @Autowired는 권장되지 않음 (0) | 2021.04.27 |
Vue 따라해보기 (0) | 2020.12.01 |
FCM - Firebase Cloud Messaging - (1) 개요 및 설정 (작성중) (0) | 2020.08.27 |
React Native Expo 설치 및 실행 (0) | 2020.07.14 |