持久性模型与视图模型



有人能举一个例子说明"持久性模型"应该从"视图模型"中分离出来吗?为什么?

持久性模型:

@Entity
public class Employee {
    @Id
    private int id;
    // Some other stuff 
}

视图模型:

public class EmployeeModel {
    private int id;
    // Some other stuff 
}

他们不应该在哪里分开?

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

它们应该在哪里分开:当它们不匹配时。例如,假设您想显示一个表,其中每行包含:

  • 员工姓名
  • 他的部门名称
  • 他参与的项目数量

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

最新更新