【问题标题】:JPA-entities from separate bundles which used one connection from main bundle来自单独捆绑包的 JPA 实体,这些捆绑包使用主捆绑包的一个连接
【发布时间】:2014-05-02 21:11:52
【问题描述】:

我想将我的 RAP 应用程序拆分为单独的包。

第一个包 - 是主模块。它包含导航菜单、打开数据库连接等常用功能。 (数据库预言机)

其他包是插件模块,其中包含视图、jpa-entities、业务逻辑。

我需要每个应用程序、每个用户一个数据库连接,但我需要单独的包和主模块中的 jpa-entities。我不需要每个插件都连接数据库。

所有插件都可以与主模块实体一起使用。

只有插件可以与 self-plugin-module-entities 一起使用。

主模块不知道插件中的实体。

有可能吗?哪个框架可以帮助我?

对不起我的英语:-)

【问题讨论】:

    标签: java jpa osgi equinox eclipse-rap


    【解决方案1】:

    可以将实体类放在单独的包中,但是:

    • 您必须有一个persistence.xml 文件,其中列出了所有实体类
    • 包含持久化单元的包必须导入实体类所在的包

    简而言之:您可以在单独的模块中拥有实体类,但您必须有一个主要位置来收集 PU 的所有信息。

    如果我很好地理解了您的问题,您希望拥有一个包含 PU 但不了解实体类的主模块。抱歉,这是不可能的。

    替代方案:

    我们有类似的要求,所以我们决定离开 JPA 并切换到 Liquibase 和 QueryDSL2 组合。 Liquibase 用于定义数据库模式,QueryDSL 用于构造与数据库无关的 SQL 类型安全语句。用 JPA 的话:没有实体类,只有静态元模型。

    我们还开发了一些模块和一个 Maven 插件来支持这些技术。它尚未记录,但如果您对此技术堆栈感兴趣,我可以提供更多详细信息。

    【讨论】:

      猜你喜欢
      • 2013-11-24
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 2012-06-29
      • 2012-06-21
      • 2020-09-13
      • 1970-01-01
      相关资源
      最近更新 更多