2016-01-06 65 views
0

我正在学习“企业应用程序体系结构模式”。我对数据映射器模式感到困惑。据我所知,领域模型本身不应该意识到不同数据映射器的存在。那么谁负责调用数据映射器来加载或保存域模型对象?在负责调用数据映射器的域模型中?

回答

1

数据映射器用于在框架级别将数据的内存中对象表示转换为数据库中的关系表示,反之亦然。 框架级我的意思是ORM提供程序如Hibernate,Ibatis等将在读取关系数据库后使用数据映射器层来创建内存中的域对象。同样,数据映射器将把内存域对象转换为关系数据库表示。

因此,内存域对象本身与底层关系数据库的复杂性分离。域对象不知道数据映射器的原因在于,当从数据库读取数据时,框架负责执行数据映射器,并将该数据作为内存中对象提供给请求它的代码。同样,代码在抽象出来的Hibernate \ JPA库上调用数据库,而内部框架使用数据映射器层将此调用中的数据转换为数据库所需的适当格式。

相关问题