我应该在哪里从三层应用程序中实例化数据库中的实体?

时间:2013-05-15 08:06:45

标签: database oop 3-tier

我正在创建 3层应用程序,我遇到了问题 我有一个数据库,其中包含有关客户的数据以及代表我的应用中的客户实体的类。问题是,我不知道是否应该在数据层应用程序层中实例化客户实体。

应用程序层中创建客户实体似乎更正确,因为数据层应该只查询数据,但这意味着我需要使用应用程序层中的“原始/未格式化”数据,但也看起来不太好。

任何人都知道处理这个问题的“正确”方法吗?

1 个答案:

答案 0 :(得分:1)

数据库保持状态,在查询之前必须保存状态。应用程序将实例化一个新的Customer实体,然后将其发送到Persistance以进行保存。当应用程序需要来自db的某个Customer时,Persistence(通常是Repository)会恢复Customer。

请注意,Customer是一个Business实体,与Customer表或Customer ORM实体相关但不相同,它只是从数据库角度建模的数据结构,以便为查询进行优化。