【问题标题】:Does JPA allow to create the same table structures but different name of tables?JPA 是否允许创建相同的表结构但不同的表名称?
【发布时间】:2013-05-23 22:27:28
【问题描述】:

我有一个用于简单论坛的简单 JPA(Spring data Jpa)用例。

这个项目由 Spring MVC、Spring Data Jpa 和 hibernate 作为 jpa 供应商完成,它由 forum/forum_comment pojo 实体、forum/forum_comment 存储库和论坛控制器(restful)组成

jpa 只创建 2 个表 - forum 和 forum_cmets

一段时间后,我有新的请求来生成名为 forum2 的新论坛,这将是 forum2 和 forum2_cmets 以及稍后我需要定义的更多不同名称的论坛

forums和forum_cmets的所有栏目都是一样的;但只是实体/表的名称不同

有没有什么聪明的方法可以用相同的列生成不同的表名?

现在我只需手动复制和粘贴并重命名这些内容。

论坛/论坛评论 论坛2/论坛2_comment forum3/forum3_comment

喜欢这种愚蠢的方式;任何指南都会对我有所帮助

【问题讨论】:

    标签: spring hibernate jpa jpa-2.0


    【解决方案1】:

    用于继承映射而不构建实体层次结构的指定注解 是MappedSuperClass

    解决问题的其他方法是不为每个论坛创建新表,而是将所有数据存储在现有表中。然后可以添加新列以区分论坛。

    【讨论】:

      【解决方案2】:

      您可以对每个表中的列使用@Embeddable。

      见:http://blogs.sourceallies.com/2010/01/hibernate-embeddable-objects/

      【讨论】:

      • 我希望管理 UI 页面提供一些内容,例如“键入您的表名”,然后它会动态创建表;无论如何,这是更好的方法。非常感谢您的回答:)
      猜你喜欢
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      • 2016-01-25
      • 2020-10-12
      • 1970-01-01
      • 2012-07-09
      相关资源
      最近更新 更多