首页 > 解决方案 > Spring Boot @Table 注解,不同环境的目录属性

问题描述

我正在使用带有 JPA 的 Spring Boot 来连接我的数据库。我需要在实体的@Table 注释中设置“目录”属性。

基本上没有问题

@MappedSuperclass
@NoArgsConstructor
@Table(catalog = "catalog_name")
public abstract class AbstractEntity

但我必须找到简单的方法来更改目录值,因为我在不同的环境中有不同的值。

谁能知道如何通过例如 application.properties 文件而不是硬编码字符串来更改它?

我将不胜感激任何解决方案。

标签: springhibernatespring-bootspring-data-jpa

解决方案


也许这种方法会奏效:

  1. 将属性添加到 Maven 配置文件
  2. 将属性 catalog.name 添加到 .properties 文件
  3. 使用 Spring @PropertySource 注解加载属性文件
  4. 做这样的事情:

    @Table(catalog = "${catalog.name}")


推荐阅读