【发布时间】:2021-11-17 05:25:29
【问题描述】:
如下图所示,是否可以将多个存储库(JPA 接口)自动装配到另一个存储库(类)中
@Repository
public class repositoryClass {
@Autowired
private Repository1 repo1;
@Autowired
private Repository2 repo2;
}
这里的存储库 1 和 2 是 Spring Data JpaRepository 接口
repositoryClass 的目的是从repository1 和repository2 获取sql 查询,然后使用hibernate 执行它们,因为我将repo1 和repo2 自动装配到repositoryClass 中
【问题讨论】:
-
它闻起来像一个糟糕的设计。请提供更多详细信息。
-
@chrylis-cautiouslyoptimistic- 为什么这是一个糟糕的设计?
-
@Pirate 我不是说它是,但这种模式通常表明将应该分开或以不同方式组织的概念混合在一起。
-
它们的组织方式已经不同,它解决的问题是服务层不需要知道我们拥有的所有存储库。我们可以创建主存储库,该存储库将提供对 dao 层的访问,以提供可以执行的所有功能。
-
@chrylis-cautiouslyoptimistic-repositoryClass 的目的是从 repository1 和 repository2 获取 sql 查询然后执行它们,因为我正在将它们自动装配到类中
标签: java spring hibernate spring-data-jpa