如何从config

时间:2018-05-31 07:03:03

标签: spring-boot spring-data spring-data-jpa

在我的春季启动应用程序中,我使用的是spring数据jpa。在实体中,我需要从配置中选择模式名称,模式将更改并且需要可配置。我尝试了以下但是它不起作用

@Entity
@Table(schema="${schema.name}", name="MyTable")

schema.name在application.properties文件中定义

我得到“无法提取结果集”错误

有没有办法实现这个目标?

=============== EDIT ===============

@Entity
@Table(name="MyTable")
public class MyData {

    @Id
    @Column(name="MyID")
    @JsonProperty("MyID")
    private String MyID;

    @Column(name="number")
    @JsonProperty("number")
    private String number;

    @Column(name="value")
    @JsonProperty("value")
    private String value;

    ......getter and setters go here.....
}

2 个答案:

答案 0 :(得分:0)

请在 application.properties 文件中设置架构和其他与数据库相关的配置。
在实体中保留模式名称是不好的做法。

如下代码:

with open(filename) as f:
    contents = f.readlines()
# the file is closed automatically when you exit the with block (you can still use contents)

此处在spring.datasource.url=jdbc:mysql://192.168.97.39:3309/schema-name?autoReconnect=true&autoReconnectForPool=true&characterEncoding=UTF-8 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect spring.datasource.username=userName spring.datasource.password=Password 属性

中配置的架构名称

答案 1 :(得分:0)

使用

spring.jpa.properties.hibernate.default_schema=schema

您可以看到this similar question here