【发布时间】:2017-06-01 19:00:18
【问题描述】:
我有这种情况:
- 一个 SQL 数据库实例
- 两个或多个带有 jpa 实体的 osgi 包和“他们的”实体的 spring-data 存储库
- “jpa 包”之一是“核心包”,其他依赖于它(插件包)
我可以将它与单个数据源一起使用吗?
例子:
- “核心包”包含
Person实体 - “Person 列表插件包”包含一个
PersonList实体,它通过people属性引用 Person 实体
我现在想使用“人员列表插件包”中的PersonListService,它使用PersonListRepository.findByPeoplesFirstName(String firstName)
背景是我希望我的应用程序的数据库可以通过添加一个 osgi 包作为插件来扩展。
现在我尝试使用 apache karaf 和 hibernate 5,因为空间支持很重要。
【问题讨论】:
-
为什么还要使用“插件”?例如,如果你有一个 Person 实体,那么所有处理 Person 的存储库类都应该在同一个包中。我认为将实体及其存储库分开是没有意义的。
-
我想替换一个遗留应用程序,用户可以通过添加一个带有 php 代码的文件夹来安装一个“插件”,现在有一个“缓存生成器插件”,它添加了一些预先计算的表数据库。这需要访问自己的表和“核心”表。
标签: hibernate jpa osgi spring-data-jpa apache-karaf