有人能举一个例子说明"持久性模型"应该从"视图模型"中分离出来吗?为什么?
持久性模型:
@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关联。要加载表中显示的数据,您将使用一个特殊查询,该查询将使用联接从这三个实体加载所需的数据。