java - 在 Java 中的另一个数据映射器中使用数据映射器?

标签 java jdbc entity datamapper

我正在使用 Java 中的数据映射器模式来访问数据库。可以在另一个映射器内部调用一个映射器吗?就我而言,映射器应该独立工作,而不依赖于其他映射器,但似乎与我从事同一项目的其他人有不同的看法。

举个例子:我有一个 Customer 对象和一个 ContactPerson 对象。 Customer 有一个 ContactPerson 对象作为字段。为了从数据库获取数据,我有一个 CustomerMapper 和一个 ContactPersonMapper。当从数据库检索客户数据时,我需要同时获取其联系人数据。在我的 CustomerMapper 中使用 ContactPerson 映射器是个好主意,还是应该使映射器彼此完全独立?

最佳答案

我猜你在这里使用的是类似于 spring jdbctemplate 和映射器的东西。我经常使用这种模式,而且我倾向于同意你的观点。我从不在映射器内调用第二个映射器。在我看来,当映射器独立时,代码更容易测试和阅读。我更喜欢 DAO 中的逻辑尽可能少,并将逻辑留给其他代码级别。

过去有几次,我在映射器内部创建了逻辑,将结构映射到更高级的对象,但我已经不再这样做了。我认为最好的方法是让映射器变得非常非常简单。

关于java - 在 Java 中的另一个数据映射器中使用数据映射器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16457155/

相关文章:

java - 快速处理数据

java - 为所有 Junit 测试创建一个参数

oracle - 使用 Apache Spark 1.4.0 写入 Oracle 数据库

java - 错误: ORA-00923: FROM keyword not found where expected (JDBC)

database - 什么时候提交事务?

php - 一种形式的多个实体 Symfony

java - 在 Hibernate 中处理环境特定字段的最佳方法

java - 使用传入的方法实例化 Java 对象

java - 在数据库中查找特定表时,为什么“显示表”比 DatabaseMetaData.getTables() 更好?

java - 日历字段中的不同/不正确结果