개발
[JPA] Entity에서 @Builder 와 @NoArgsConstructor 같이 사용할때 예외
autocat
2021. 4. 23. 10:32
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
를 함께 사용