Java 如何在spring application.properties中设置lombok.equalsAndHashCode.callSuper=call?
我在Hibernate实体上使用Lombok,并具有继承性:Java 如何在spring application.properties中设置lombok.equalsAndHashCode.callSuper=call?,java,spring,lombok,Java,Spring,Lombok,我在Hibernate实体上使用Lombok,并具有继承性: @MappedSuperclass @Data public class BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private Boolean enabled; public BaseEntity() { enabled = true;
@MappedSuperclass
@Data
public class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private Boolean enabled;
public BaseEntity() {
enabled = true;
}
}
@Entity
@Data
public class Event extends BaseEntity {
private String name;
private LocalDateTime start;
private LocalDateTime end;
private Boolean isTaxable;
}
Eclipse对child@Data发出警告:
生成equals/hashCode实现,但不调用
超类,即使该类不扩展java.lang.Object。
如果这是有意的,请添加'@EqualsAndHashCode(callSuper=false)'
适合你的类型
如前所述
我可以用
lombok.equalsAndHashCode.callSuper = call
如何在spring application.properties文件中使用此属性?我应该在application.properties附近创建lombok.config文件并将其放在那里吗?
我试图将其添加到application.properties
lombok.equalsAndHashCode.callSuper = call
但是Eclipse说这个属性未知,并且子类@Data annotation上的警告仍然存在。因为lombok是一个注释处理器,所以它在编译期间完成它的工作。因此,在构建项目时,需要在lombok中配置的所有内容都必须存在 您必须将所有lombok配置选项放入名为
lombok.config
的文件中。此文件通常放置在项目根文件夹中。有关详细信息,请参阅。(请注意,此文件不会包含在构建的工件中,例如JAR文件。)
您不能在运行时配置lombok(例如,使用
应用程序.properties
)。尽管Eclipse在编译之前会看到getter和setter、@Slf4j注释等。我认为EclipseLombok插件还应该知道Lombok.config文件中设置的属性。或者它不是?Eclipse应该能够识别它。要使设置生效,您可能必须执行清理/重新编译。确保在Eclipse中安装了lombok插件的当前版本1.18.2(请参阅“关于Eclipse”对话框)。如果这没有帮助,并且警告在Eclipse中仍然存在,但是使用maven或gradle编译时肯定没有警告,请在上提交一个bug,并说明如何复制。当我使用Lombok gradle插件时,Lombok.config文件被删除我的配置的插件覆盖。