-
Notifications
You must be signed in to change notification settings - Fork 1
[트러블슈팅] 엔티티 연관관계에서 @Builder
Jae-Hyeon Kim edited this page Jun 12, 2024
·
2 revisions
연관관계에 있는 엔티티 컬렉션 필드 (@OneToMany
등) 의 필드가 있는 엔티티에서 @Builder
를 사용중 경고가 나왔다.
jshop/domain/order/entity/Order.java:57: warning: @Builder will ignore the initializing expression entirely. If you want the initializing expression to serve as default, add @Builder.Default. If it is not supposed to be settable during building, make the field final.
private List<OrderProductDetail> productDetails = new ArrayList<>();
즉 @Builder
는 기본 생성자를 초기화 표현식을 무시한다는 것.
경고에 나온대로 @Builder.Default
로 기본 필드를 설정해주고 변경이 없을 필드이므로 final
로 안전하게 설정해줬다.
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
@Builder.Default
private final List<OrderProductDetail> productDetails = new ArrayList<>();