본문 바로가기

Server/Spring

[우당탕탕 개발 일지] @Builder의 잘못된 사용 예시, List 필드가 있으면 Builder를 신중하게 사용하자!

반응형
SMALL

에러 발생 🚨 Cannot invoke add 어쩌구 is null 요런 에러는 십중팔구 99퍼 List 필드에 초기화를 안해줘서 발생하는 에러인데,, 나는 Entity 필드 new ArrayList<>() 초기화 해줬는데 왜 안되지...? 😧 멘탈이 잠깐 나갈 뻔 했다.

 

에러 로그를 타고 타고 들어가서 고심한 결과,,,

 

여기!!! Order 생성 메소드에서 Order 생성을 빌더로 하고, orderItems 필드는 초기화를 안 해줬더랬다~ 그러니 orderItems는 null로 초기화 되고, NullPointerException 에러가 발생할 수밖에 😳

 

 

그래서 빌더 대신 생성자 방식으로 Entity를 생성해줬고, 그 결과 테스트가 아주 잘 통과된다! 🤩

 

 

하하하. 빌더를 잘못 쓰면 안된다고만 듣고 그 사례는 한 번도 못 봤는데 덕분에 직접 경험해봤다 :D

 

 

** List 관련 필드가 있는 객체(Entity)에서는 빌더를 신중하게 사용하자! **

 

반응형
LIST