DTO 의 @Data와 @Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class TravelDto {
@NotEmpty
@Column(name = "startDate")
private String startDate;
@NotEmpty
@Column(name = "endDate")
private String endDate;
@NotEmpty
@Column(name = "country")
private String country;
@NotEmpty
@Column(name = "city")
private int city;
@Column(name = "NumOfPeople")
private String NumOfPeople;
@Column(name = "age")
private String age;
@Column(name = "language")
private String language;
@Column(name = "gender")
private String gender;
@Column(name = "travelType")
private String travelType;
}
DTO에서 Lombok 의 @Data annotation은 @Setter를 자동생성하는데 DB에서 받아온 값이 변경될 일이 없기에(변경 가능성을 남발하지말자) Setter 는 필요하지않고 생성자에서 값을 할당한다. 그래서 @Data 는 사용을 금지하고 대신 @AllArgsConstructor annotation으로 처리한다.