首页 > 解决方案 > Squash Lombok 注释

问题描述

我有许多带有 Lombok 注释的课程。

@Entity
@Table(name = "employee")
@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)
public class Employee extends AuditableEntity<Integer> {

    @Column(name = "name")
    private String name;    
}

有没有办法将 Getter、Setter、SuperBuilder、NoArgsConstructor、AllArgsConstructor、EqualsAndHashCode 注释压缩到任何一个可重用组件?

我试图创建自定义注释

@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = true)
@Target({ElementType.ANNOTATION_TYPE})
public @interface Lombok {
}

但 Lombok 注释仅在类、枚举或字段类型上受支持。

标签: annotationslombok

解决方案


这是 Lombok 最常请求的功能之一。不幸的是,实现它并不容易。有一些正在进行的工作,但这只是一个概念验证;不能保证它会进入龙目岛。


推荐阅读