在Spring Boot中更新(CRUD)时,Builder Pattern是否不可用?只能用于创建对象(用于构造函数)吗?

时间:2019-01-29 05:46:43

标签: spring-boot jpa crud builder builder-pattern

我使用了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)

0 个答案:

没有答案