【发布时间】:2019-06-22 14:22:48
【问题描述】:
我有以下 JPA 实体
@Data
@Builder
public class Post {
@Id
@GeneratedValue
UUID id;
@OneToMany
Set<PostTags> tags;
String content;
}
@Data
public class PostTag {
@Id
@GeneratedValue
UUID id;
@OneToOne
Post post;
String tag;
}
使用 lombok @Builder 我希望能够执行以下操作
Post post = Post.builder()
.tags("hello", "world")
.content("Hello world")
.build();
我假设我需要一个自定义构建器,类似于
public static class PostBuilder {
private Set<String> myTags = new HashSet<>();
public PostBuilder tags(String... tags) {
myTags.addAll(Arrays.asList(tags));
return this;
}
}
从documentation 中,我可以使用ObtainVia 注释,但我不确定如何绕过它(文档上没有示例),特别是因为我只希望myTags 成为构建器具体的事情,而不是暴露在主类本身。
【问题讨论】: