2013-08-22 154 views
1

有人可以举例说明“持久性模型”应该从“视图模型”中分离出来吗?为什么?持久性模型与视图模型

持久化模型:

@Entity 
public class Employee { 

    @Id 
    private int id; 

    // Some other stuff 

} 

视图模型:

public class EmployeeModel { 

    private int id; 

    // Some other stuff 

} 

而且,他们不应该被分开吗?

回答

4

不应该分开的地方:当它们完全匹配时,就像在你的例子中一样。

他们应该分开的地方:当他们不匹配时。例如,假设你想显示包含一个表,对于每一行:

  • 雇员名
  • 他的部门的名称
  • 的他参与

项目数量这与任何持久性模型实体都不匹配,因为在持久性模型中,您将拥有一个Employee,具有与Department关联的ManyToOne关联以及与Project关联的ManyToMany关联。要加载表中显示的数据,您将使用即席查询,该查询将使用连接从这三个实体加载所需的数据。