对于db中的许多模块,我们有以下db结构。
db table a是主表,该表有多个扩展(b、c、d等),没有自己的主键,但引用了a的主键。我们已经使用jpa@inheritance-joined-table方法来管理这些。所以a的父实体和扩展a的子实体。
我们还为所有实现实体创建了多个jpa存储库。
当用户根据请求中的某些字段发送请求时,我们必须确定正确的实现,并对特定的repo执行crud操作。
为了使它具有通用性和动态性,我创建了一个策略工厂,它接受用户输入,识别正确的实现,并返回 Package 特定repo的特定策略。
问题是,我必须在每次调用服务类方法时都这样做,以确定正确的策略。我觉得这个设计有缺陷。你能建议一个更好的设计吗?
暂无答案!
目前还没有任何答案,快来回答吧!