我使用了Builder模式。 这是实体类。
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Getter
@Entity
public class Posts extends BaseTimeEntity{
@Id
@GeneratedValue
private Long id;
@Column(length = 500, nullable = false)
private String title;
@Column(columnDefinition = "TEXT", nullable = false)
private String content;
private String author;
@Builder
public Posts(String title, String content, String author) {
this.title = title;
this.content = content;
this.author = author;
}
}
然后 这是DTO。
@Getter
@Setter
@NoArgsConstructor
public class PostsSaveRequestDto {
private String title;
private String content;
private String author;
public Posts toEntity() {
return Posts.builder()
.title(title)
.content(content)
.author(author)
.build();
}
}
我要进行更新(标题)查询。
这是控制器中的更新部件。(不起作用!)
@PostMapping("/posts/update-title/{id}/title")
public Posts updateTitle(@PathVariable long id, @PathVariable String title) {
Posts p = postsRepository.getOne(id);
p.builder().title(title).build();
return p;
}
在Spring Boot中更新(CRUD
)时,Builder Pattern是否不可用?
只能用于创建对象(用于构造函数)吗?
那么,如何使用UPDATE
来制作builder pattern(@builder)
?