数据访问对象(DAO)和存储库模式之间有什么区别?我正在开发一个使用Enterprise Java Beans(EJB3),Hibernate ORM作为基础架构,域驱动设计(DDD)和测试驱动开发(TDD)作为设计技术的应用程序.
domain-driven-design hibernate data-access-layer repository-pattern ejb-3.0
我有2个实体 - 电影和演员 - 有M:N的关系.在为这些实体设计DTO对象时,我不确定什么是正确的方法.
电影
@Entity
@Table(name = "Movies")
public class Movie extends AbstractBusinessObject {
private String name;
private String short_info;
@ManyToMany
private Map<String, Actor> cast;
}
Run Code Online (Sandbox Code Playgroud)
演员
@Entity
@Table(name = "Actors")
public class Actor extends Person{
private String name;
@ManyToMany(mappedBy = "cast")
private Set<Movie> movies;
}
Run Code Online (Sandbox Code Playgroud)
现在关于DTO:我遇到了两种不同的方式来处理1:N和M:N关系.
仅保存ID:
public class MovieDto {
private String name;
private String short_info;
// Long represents Actor's ID
private Map<String, Long> cast;
}
Run Code Online (Sandbox Code Playgroud)
然而,正如我在这里所说的那样Instead of performing many remote calls on …