@Builder.Default 적용 – User.javastatus 필드에 @Builder.Default 어노테이션을 추가하여 @Builder 사용 시 null로 초기화되는 문제를 방지.@Builder는 기본값을 무시하고 null을 설정하기 때문에, 명시적으로 @Builder.Default를 지정해야 정상 동작.null로 인한 인증/인증 문제 또는 상태 관리 오류 방지.@EqualsAndHashCode(callSuper = false) 적용 – 6개 엔티티 클래스적용 대상:
Mortgage.javaHouseLoan.javaSubscriptionInfo.javaSubscriptionSupplyTarget.javaSubscriptionLocationInfo.javaSubscriptionPriceInfo.javaSubscriptionSpecialSupplyTarget.java공통 변경사항:
@EqualsAndHashCode(callSuper = false) 어노테이션 추가import lombok.EqualsAndHashCode; 문 추가적용 이유:
이들 엔티티는 모두 Stamped 클래스를 상속하고 있음
Stamped에는 createdAt, updatedAt 등 시간 기반 감사 필드가 존재하며, 이들은 시간이 지나며 변경됨
callSuper = false 설정을 하지 않으면, 이러한 가변 필드가 equals()와 hashCode() 비교에 포함되어 문제 발생 가능
Set이나 Map 사용 시 객체를 다시 조회하지 못하거나 중복으로 인식해결 효과:
equals / hashCode 계산에서 제외시켜, 데이터 구조 내 안정적인 비교/검색 보장이번 수정은 다음과 같은 목적을 효과적으로 달성:
@Builder 및 @EqualsAndHashCode 관련 Lombok 사용의 안정성 보완