使用Spring Data JPA实施策略模式服务层

时间:2020-08-18 12:00:25

标签: java design-patterns architecture spring-data-jpa strategy-pattern

对于数据库中的许多模块,我们都有以下数据库结构。

db表A是主表,该表有多个扩展名(B,C,D等),它们没有自己的主键,但引用A的主键。我们使用JPA @Inheritence联接表方法来管理这些。因此,A的父实体和扩展A的子实体。

我们还为所有实施实体创建了多个jpa存储库。

当用户发送请求时,根据请求中的某些字段,我们必须确定正确的实现并对该特定存储库执行CRUD操作。

为了使其具有通用性和动态性,我创建了一个策略工厂,该工厂接受用户输入以标识正确的实现,并返回包含特定存储库的特定策略。

问题是我必须在每次调用服务类方法时执行此操作,以识别正确的策略。我觉得这个设计有缺陷。你能建议一个更好的设计吗?

0 个答案:

没有答案