#java #spring-boot #constructor #builder #lombok
#java #весенняя загрузка #конструктор #Конструктор #ломбок
Вопрос:
Я делаю проект Spring Boot, и в моем классе домена я хочу использовать аннотацию @Builder из Lombok. Мне также нужен конструктор без параметров для работы с моей couchbase.
Когда я добавил указанный конструктор, я получил ошибку;
java: constructor Room in class com.trendyol.hotel.domain.Room cannot be applied to given types;required: no argumentsfound:java.lang.String,java.lang.String,int,int,int,double,java.lang.String,double,java.util.List<java.util.Date>reason: actual and formal argument lists differ in length
Указанные аргументы являются моими полями в классе.
Я заполняю поля значениями по умолчанию (для couchbase)
Мне интересно, есть ли способ использовать @Builder, а также иметь конструктор?
Вот мой класс:
@Getter
@Setter
@Builder
public class Room {
@NonNull
private String id;
@NonNull
private String hotelId;
@NonNull
private int roomNumber;
private int floor;
private int noOfBeds;
private double m2;
private String view;
private double nightlyPrice;
private List<Date> bookedDates;
public Room() {
this.id = UUID.randomUUID().toString();
this.hotelId = "hotelId";
this.roomNumber = 0;
this.floor = 0;
this.noOfBeds = 1;
this.m2 = 10;
this.view = "default view";
this.nightlyPrice = 0;
this.bookedDates = new ArrayList<Date>();
} }
Комментарии:
1. Не могли бы вы показать какой-нибудь код? Используете ли вы, например,
@NoArgsConstructor
аннотацию?2.
@Builder @Data @NoArgsConstructor @AllArgsConstructor
все должно работать вместе… добавьте все 4 аннотации в класс и посмотрите, продолжает ли накапливаться ошибка, также я знаю, что в старой версии lombok порядок аннотаций имеет значение, попробуйте@builder
сначала поместить аннотацию3. привет, я добавил код своего класса