0

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

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

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

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

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

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

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

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

对不起我的英语不好 :-)

4

1 回答 1

1

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

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

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

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

选择:

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

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

于 2014-03-25T10:09:48.733 回答