我有一个使用 Lombok 功能的 DTO,如下所示。但现在由于一些要求,我必须将我的 DTO 扩展到如下所示的父类。我如何在 DTO 中进行最小的更改来支持它。我尝试使用@SuperBuilder注释但失败了。
DTO 之前:
@Getter
@ToString
@EqualsAndHashCode
@Builder(toBuilder = true)
@AllArgsConstructor(access = AccessLevel.PRIVATE)
public class RequestMessage {
private final String name;
}
Run Code Online (Sandbox Code Playgroud)
需要扩展的父类
@Data
@SuperBuilder(toBuilder = true)
@JsonDeserialize(builder = MyDTO.Builder.class)
public abstract class MyDTO implements Serializable {
@JsonIgnore private final ObjectMapper objectMapper = new ObjectMapper();
protected String myAccountId;
protected MyDTO() {}
public static int hashCode(Object... objects) {
return Arrays.deepHashCode(objects);
}
public static boolean equal(Object o1, Object o2) {
// implementation of equals method
} …Run Code Online (Sandbox Code Playgroud)