实体和 DTO 之间的区别
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; }
有一个单侧连接(一对一)和一个双侧连接(多对一),一个简单的字符串和整数数据,当然还有id。从他们那里放什么在和类中?MyFirstDTO
MySecondDTO
-
如果实体之间存在继承,那么我应该如何在 DTO 中表示它?例如:
@Entity public class MyFirstEntity extends MySecondEntity { .... } @Entity public class MyFirstDTO extends MySecondDTO { .... }
我应该如何使用它们?例如,我发现:我正在处理一个Web项目。网页的用户想要注册。他/她填写表单,并将其发送到服务器。在服务器端,我首先创建一个 DTO,因为它的字段具有验证。从 DTO 中,我创建了一个实体并将其保存到数据库中。当存在对实体的请求时,我将请求的实体转换为 DTO,并将其提供给客户端的用户。这是不是一个好的想象?