【发布时间】:2019-04-29 13:09:05
【问题描述】:
我的 Spring Boot 应用程序有 2 个模式,我像这样在 Entity 类中对其进行硬编码
@Entity
@Table(name"TABLE_NAME_1", schema="SCHEMA_NAME_1")
public class EntityName1{
...
}
@Entity
@Table(name"TABLE_NAME_2", schema="SCHEMA_NAME_2")
public class EntityName2{
...
}
问题是这个模式名称在每个版本中都会不断变化。因此,每次发布后,我们都必须到这里来对实体文件的架构名称进行必要的更改。
现在我想我们可以在 Spring Boot 中配置 default_schema 但这不起作用,因为我们需要将两个模式名称都外部化。
有什么方法可以使用这样的东西: @实体 @Table(name"TABLE_NAME_1", schema="{{default.schema_1}}") 公共类 EntityName1{ ... }
@Entity
@Table(name"TABLE_NAME_2", schema="{{default.schema_2}}")
public class EntityName2{
...
}
我们在外部文件中定义 default.schema_1 和 default.schema_2。
【问题讨论】:
-
这就是为什么 JPA 允许您将 SCHEMA 信息放入
orm.xml然后您只需更新该映射文件,而不是将其全部静态硬编码到需要重新编译的类中的原因之一!
标签: hibernate spring-boot jpa spring-data-jpa spring-data