gpt4 book ai didi

java - 在 Spring MVC 中使用域对象作为表单支持对象是一种不好的做法吗?

转载 作者:行者123 更新时间:2023-12-02 11:35:55 24 4
gpt4 key购买 nike

在 Spring MVC 中使用 Event 实例作为表单支持对象是一个不好的做法吗?

与 DTO 相比,此方法的问题之一是客户端可以更改 View 中的隐藏字段,并且您需要检查并重置它们。但还有其他的吗?

@Entity
@Table(name = "events")
public class Event
{

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "event_id")
public int id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
public User userId;

@Column(name = "amount")
@NotEmpty(message = "Amount can't be empty")
public int amount;

@Column(name = "description")
@NotEmpty(message = "Description can't be empty")
public String description;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "entered_by")
public User enteredBy;

@Column(name = "entered_at", columnDefinition = "DATETIME")
@Temporal(TemporalType.TIMESTAMP)
public Date enteredAt;

}

最佳答案

正如您所说,DTO 的主要目标是隔离。您并不总是希望客户端查看/访问数据库端的所有字段。

此外,您可以使用 DTO 聚合来自不同表/服务的多个调用,并通过一个表单对象将其返回到客户端。

关于java - 在 Spring MVC 中使用域对象作为表单支持对象是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48944887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com