【问题标题】:Is it possible to map tables with prefixes?是否可以使用前缀映射表?
【发布时间】:2014-01-29 10:32:43
【问题描述】:

我是 hibernate 社区的新手,所以我不知道该选择哪个方向。基本上我有一个战争和分贝,但我有我自己的分贝项目。问题是某些表具有相同的名称,因此有可能以某种方式映射表,以便其他项目将调用前缀表(不是原始表,例如 PREFIX_TEST,而最初是 TEST)。我阅读了有关命名策略的信息,但我不确定是否可以使用它,我没有 persistence.xml

非常感谢

【问题讨论】:

    标签: java hibernate mapping


    【解决方案1】:

    如果只需要几个表的前缀,你可以定义表映射:

    @Entity
    @Table(name="PREFIX_TEST")
    public class Test { ... }
    

    或创建一个名称与前缀表匹配的实体:

    @Entity
    public class PrefixTest { ... }
    

    如果要修改所有表的名称,可以使用explained here这样的命名策略。

    但是,您需要persistence.xml

    编辑:如果您只想更改persistence.xml,那么您只能访问打包的应用程序这一事实并不是什么大问题。 [jwe]ar 文件是一个简单的zip 文件,因此您可以对其进行解包、添加或更改persistence.xml、重新打包和部署。

    【讨论】:

    • 我无法更改注释,我已将其全部打包在战争中。
    • 如果你想使用不同的表名,你将不得不改变一些东西——无论是注解、类还是persistence.xml
    • 所以没有其他方法可以如何包装它? :(
    • 恐怕不行。改变行为而不改变代码和配置是不可能的。
    • 如果您愿意修改 .war 文件的内容,可能会有一种方法。请查看编辑。
    猜你喜欢
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 2011-08-16
    • 2011-06-15
    • 1970-01-01
    相关资源
    最近更新 更多