Spring Boot @Table 注解,不同环境的目录属性

标签 spring hibernate spring-boot spring-data-jpa

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

基本没有问题

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

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

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

如果有任何解决方案,我将不胜感激。

最佳答案

据我所知,您不能动态编辑注释属性。看看this发布。

也许可以尝试让多个抽象实体具有自己的目录名称,并根据 application.properties 属性 进行切换 以获得正确的实体。

关于Spring Boot @Table 注解,不同环境的目录属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51264530/

相关文章:

spring-boot - Spring Boot中的MS SQL Server数据源Java配置

spring-boot - 带有功能区的 Spring Cloud 不会忽略服务器

java - Spring xml + JUnit - xml 上下文文件在 src/test/resources 中不起作用但在 src/main/resources 中起作用

java - Spring @Value 对待原语和包装类的方式不同

hibernate - 使用 Hibernate 或 JDBC 将用户从 Java 中的用户 session 传递到 Firebird 触发器

java - Hibernate 在外键 @oneToone 映射中获取 NULL

java - spring restTemplate动态映射

spring - JPA ManyToMany 插入重复值

java - 没有可用的 'ru.spb.repository.UserRepository' 类型的合格 bean : expected at least 1 bean which qualifies as autowire candidate

java - Postgres Hibernate 设置 session 变量以实现行级安全性