如何在 @Table 注释中动态设置模式名称

Posted

技术标签:

【中文标题】如何在 @Table 注释中动态设置模式名称【英文标题】:How set schema name dynamically in @Table annotation 【发布时间】:2018-01-30 05:12:31 【问题描述】:

我有两个模式“schema1”和“schema2”,也有两个项目。一些表在 schema2 中,通过带有注释的 schema1 项目保存

@Table(name = "table", schema = "schema2") 

我提到架构名称的地方。但现在我的要求是我想在注释中动态指定模式所以建议 1.是否可以在运行时指定模式名称 2. 如果可能,我们如何实现?

【问题讨论】:

您使用的是哪个数据库? 我们支持所有 mysql、oracle、postgres 和 Sql server。 【参考方案1】:

您可以将架构移动到休眠配置属性文件,并为两个项目使用两个不同的休眠配置文件

文件 1

      hibernate.default_schema=schema1

文件 2

      hibernate.default_schema=schema2

【讨论】:

如果我在数据库中有一个项目和 2 个模式,是否有一种动态方法可以做到这一点?

以上是关于如何在 @Table 注释中动态设置模式名称的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行时检索 JPA 中实体的映射表名称?

如何在 Webpack 中生成动态导入块名称

Spring JPA:动态提供模式名称

带有模式注释的 Doctrine ORM 表

vim中如何设置多行注释和删除注释

如何在 C# 中动态创建 XML 模式?