【发布时间】:2017-02-28 09:54:41
【问题描述】:
在我们的代码库中,我们广泛使用了 DAO。本质上是一个暴露低级读/写 API 的层,每个 DAO 映射到数据库中的一个表。
我的问题是,如果我们对实体有不同类型的更新,dao 的更新方法是否应该将实体 ID 或实体引用作为参数。
例如,假设我们有客户和地址。我们本来可以
customer.address = newAddress;
customerDao.updateCustomerAddress(customer);
或者我们可以有
customerDao.updateCustomerAddress(customer.getId(), newAddress);
你认为哪种方法更好?
后者更方便,因为如果我们有实体,我们总是有 id,所以它总是可以工作的。但并非总是如此,但必须先获取实体,然后再执行更新。
【问题讨论】:
标签: java repository domain-driven-design dao