DTO和实体之间有什么区别? 这是我想问的问题:
DTO应该包含哪些字段?例如,我的实体类是:
@Entity public class MyFirstEntity implements Serializable { @Id @GeneratedValue private Long id; private String stringData; @OneToOne private MySecondEntity mySecondEntity; @OneToMany private List<MySecondEntity> mySecondEntitesList; } @Entity public class MySecondEntity implements Serializable { @Id @GeneratedValue private Long id; private Integer integerData; @ManyToOne private MyFirstEntity myFirstEntity; }
在 MyFirstDTO
和 MySecondDTO
类中,应该放置单向连接(一对一)和双向连接(多对一)、简单的字符串和整数数据,当然也要包括 ID。
如果实体之间存在继承关系,那么我应该如何在 DTO 中表示它?例如:
@Entity
public class MyFirstEntity extends MySecondEntity {
....
}
@Entity
public class MyFirstDTO extends MySecondDTO {
....
}
我应该如何使用它们?例如,我发现这个问题:我正在开发一个网页项目。网页用户想要注册。他/她填写表单,并将其发送到服务器。在服务器端,我首先创建一个DTO,因为它的字段具有验证功能。从DTO中创建实体并将其持久化到数据库中。当有一个实体的请求时,我将所请求的实体转换为DTO,并将其提供给客户端用户。这是一个好的想象吗?