【发布时间】:2016-09-03 09:25:09
【问题描述】:
我最近开始研究 Hibernate。我已经搜索了有关 Hibernate 相关类的层的最佳实践,并且总是出现以下结构: 每个 Entity 都有自己的 DAO 接口,而后者又拥有自己的 DAO 实现类,而后者又拥有自己的 Service。
这是否被认为是最佳做法? 我的问题是很多代码被重复或者对于每个实体都基本相同。坦率地说,每个模型 4 个文件对我来说似乎有点太多了。
我了解 DAO 的接口如何使更改框架和测试变得更容易。我同意其中一些需要将 DAO 和服务分开(因为您希望将 DAO 功能保持在最低限度并在服务中添加额外的业务逻辑)。
但有些实体只需要简单的逻辑,DAO 对它们来说已经绰绰有余了。他们还应该有自己的服务等级吗? 如果大量实体总是需要相同的基本功能怎么办?他们的 DAO 不能共享一个通用接口吗? (而不是为每个人写一个)
总之,对每个实体的自适应方法不是更适合,还是会破坏代码的可预测性?
【问题讨论】:
标签: hibernate jpa interface entity dao