Console
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<UserHistory> userHistories = new ArrayList<>();
^
1 warning
User.java
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name="user_id", insertable = false, updatable = false)
private List<UserHistory> userHistories = new ArrayList<>();
위의 코드처럼 VO 클래스에서 필드를 초기화 시 에러가 발생한다.
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@Builder
@Entity
//@EntityListeners(value={CommonEntityListener.class, UserEntityListener.class}) // EntityListener는 여러개 지정 가능
@EntityListeners(value={UserEntityListener.class}) // 스프링에서 제공하는 기본 리스너 클래스
@Table(name = "TB_USER")
//@Table(name = "TB_USER", indexes = {@Index(columnList = "name")}, uniqueConstraints = {@UniqueConstraint(columnNames = "email")})
public class User extends BaseEntity {
찾아 보니 Entity에 @Builder 어노테이션을 썻을 때 필드를 초기화하면 에러가 난다. @Builder 어노테이션 사용 시 클래스를 컴파일 할 때 초기값을 무시하고 인스턴스화가 진행됨. @Builder 어노테이션과 초기값을 설정 시 2가지 방법이 있다.
1. @Builder.Default 어노테이션을 붙인다.
2. final 키워드를 붙인다.
'Spring > 99.Error' 카테고리의 다른 글
JDK 11에 java.xml.bind 관련 에러 발생 (0) | 2023.11.24 |
---|---|
[Spring Boot] ASM ClassReader failed to parse class file 에러 (0) | 2023.09.20 |
[Spring Boot] Intelliji와 Gradle 세팅시 Unable to find method 에러 해결 (0) | 2023.09.20 |
Spring Boot) could not initialize proxy - no Session 에러 해결 (0) | 2023.05.11 |
Spring Boot JUnit Test: JPA metamodel must not be empty 에러 해결 (0) | 2023.04.29 |