我正在使用 Lombok 为我的 JPA 实体生成 getter 和 setter。不过,我也非常喜欢
@Accessor(fluent = true, chain = true)
提供的Syntax。但这与 JPA 不兼容,JPA 需要防止链接的签名void setProperty()
。
是否可以在 Lombok 中同时使用“常规”getter 和 setter 以及流畅的访问器?
这不可能。来自文档
注解用于配置howlombok 生成并查找 getters、setters 和 with-ers.@Accessors
强调我的。
@Accessors
可以配置how方法生成,但不能配置how many methods are generated.
从技术上讲,它仍然是一项实验性功能,因此将来可能会发生变化。但是,我目前没有看到任何支持这一点的意图。您将类的 API 足迹加倍,语法略有不同;在我看来,这真的不值得。
晚了几个月,但这适用于在向谷歌询问有关 lombok 的访问器正在试验之后登陆这里的任何人。对于您的链接要求,您可以使用:
@With
@Getter
@Setter
这将为您提供常规的 setter 和 getter,并为您提供可链接的“With”方法。
NB @With 要求:
@AllArgsConstructor