【发布时间】:2018-01-04 14:09:22
【问题描述】:
有没有办法为@Setter自定义生成的代码?
考虑以下简单类:
@Entity
@Getter
@Setter
@NoArgsConstructor
public class MyEntity implements Serializable {
@Id private long id;
@OneToMany
private Set<AttributeColumn> columns = new HashSet<>();
public void setColumns(Set<AttributeColumn> columns) {
this.columns.clear();
this.columns.addAll(columns);
}
}
我希望 Lombok 为 columns 生成 Setter,因为我在上面的示例中实现了它。这只应在使用@Entity 注释的类和Collection 的属性上完成。其他属性的 Setter,在这个例子中是 id 应该像往常一样生成。
有没有办法根据这些条件自定义 Setter 代码的生成?
【问题讨论】:
-
从技术上讲,您可以扩展 Lombok。实际上,这并不容易。您需要了解 Eclipse 和 Javac 树结构,并且让 Lombok 从源代码编译也很麻烦。但并非不可能。
-
我明白了,我误读了你的问题。为投反对票而道歉。如果您编辑您的问题,我会撤消它。
-
@maaartinus 我编辑了这个问题,感谢您删除了反对票。虽然目前不可能,但我不认为这个问题对其他人没有用处。另外,感谢您对答案的澄清!
标签: java customization lombok