Spring Boot @Table注解,为不同环境提供目录属性

13 浏览
0 Comments

Spring Boot @Table注解,为不同环境提供目录属性

我正在使用Spring Boot和JPA连接我的数据库。

我需要在实体的@Table注释中设置“catalog”属性。

基本上这不是一个问题

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

但是我需要找到一种简单的方法来更改目录值,因为在不同的环境中我有不同的值。

是否有任何其他方法可以通过application.properties文件等方式来更改这个值,而不是硬编码字符串?

我将非常感激任何解决方案。

admin 更改状态以发布 2023年5月21日
0
0 Comments

也许这种方法可以起作用:

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

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

0
0 Comments

据我所知,您无法动态编辑注释属性。请查看 此帖子

也许尝试使用具有自己目录名称的多个抽象实体,并根据 application.properties property 进行 switch 以获取正确的实体。

0