数据访问对象(DAO)和存储库模式之间有什么区别?我正在开发一个使用Enterprise Java Beans(EJB3),Hibernate ORM作为基础架构,域驱动设计(DDD)和测试驱动开发(TDD)作为设计技术的应用程序.
domain-driven-design hibernate data-access-layer repository-pattern ejb-3.0
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;
}
Run Code Online (Sandbox Code Playgroud)有一个单向连接(一对一)和一个双向连接(多对一),一个简单的字符串和整数数据,当然还有ID.什么,从他们把在MyFirstDTO和MySecondDTO班?
如果实体之间存在继承,那么我应该如何在DTO中表示它?例如:
@Entity
public class MyFirstEntity extends MySecondEntity {
....
}
@Entity
public class MyFirstDTO extends MySecondDTO {
....
}
Run Code Online (Sandbox Code Playgroud)我应该如何使用它们?例如,我发现了这一点:我正在开发一个Web项目.网页的用户想要注册.他/她填写表格,并将其发送到服务器.在服务器端,我首先创建一个DTO,因为它的字段具有验证.从DTO我创建一个实体并将其持久化到数据库.当有实体请求时,我将请求的实体转换为DTO,并将其提供给客户端的用户.是不是很好的想象力?