새소식

개발

[JPA] Entity에서 @Builder 와 @NoArgsConstructor 같이 사용할때 예외

  • -

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를 함께 사용
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.