我正在使用带有JPA的Spring Boot来连接我的数据库。 我需要在实体@Table注释中设置"目录"属性。
基本上不是问题
@MappedSuperclass
@NoArgsConstructor
@Table(catalog = "catalog_name")
public abstract class AbstractEntity
但是我必须找到简单的方法来更改目录值,因为我在不同的环境中有不同的值。
有谁知道任何其他方法如何通过例如 application.properties 文件而不是硬编码字符串来更改它?
我将不胜感激任何解决方案。
据我所知,您无法动态编辑注释属性。看看这篇文章。
也许尝试使用自己的目录名称创建多个抽象实体,并根据application.properties property
进行switch
以获得正确的目录。
也许这种方法会奏效:
- 将属性添加到 maven 配置文件
- 将属性 catalog.name 添加到 .properties 文件
- 使用 Spring @PropertySource注释加载属性文件
-
做这样的事情:
@Table(catalog = "${catalog.name}")