3

デフォルトのコンストラクターを使用して子クラスから recordId の値を設定していましたが、@Builder最初はロンボクを使用していませんでした。最終的にここで Builder を使用することにしましたが、現在の問題は、lombok Builder がデフォルトのコンストラクターを内部的にオーバーライドするため、値が設定されないことです。

フックを配置して、lombok@Builderがデフォルトのコンストラクターを使用するようにするにはどうすればよいですか?

親クラス:

@Getter
@Setter
public abstract class Record {
    private String recordId;
}

子クラス:

@Getter
@Setter
@Builder
@ToString
@AllArgsConstructor
public  class SRecord extends Record {
    private static final String RECORD_ID = "REC001";
    private String street;
    private String city;

    public SRecord() {
        setRecordId(RECORD_ID); //value of recordId being set
    }
}
4

2 に答える 2