인프런 커뮤니티 질문&답변

듀크님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

주문 기능 테스트

Builder 사용 시 NullPointerException 뜨는 경우 참고사항 (NPE)

21.02.12 01:51 작성

·

653

4

@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
private List<OrderItem> orderItems = new ArrayList<>();

이런 식으로 코드를 작성 후 Lombok의 @Builder를 사용하시는 분들은 빌더 패턴을 통해서는 필드에 아무리 기본값을 명시해뒀더라도 기본값이 null아니면 0이 튀어나오므로

@Builder.Default

를 따로 선언해주셔야 null이 아닌 ArrayList가 생성됩니다.

@Builder.Default
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
private List<OrderItem> orderItems = new ArrayList<>();

답변 1

2

김영한님의 프로필 이미지
김영한
지식공유자

2021. 02. 12. 14:57

고맙습니다. 창훈님^^

추가로 별도의 생성자를 만들고 그 위에 @Builder를 만드셔도 됩니다. ㅎㅎ

듀크님의 프로필 이미지

작성한 질문수

질문하기