来自application.yaml的休眠参数注释值

时间:2018-09-04 13:24:14

标签: java spring hibernate spring-data-jpa

是否可以将休眠模型类中的application.yaml中的某些变量用作参数而不是硬编码值。

例如。

@GenericGenerator(
    name = "generator",
    strategy = "cool.nice.package.NiceClass",
    parameters = {
    @org.hibernate.annotations.Parameter(
    name = "service", value = "niceValue"),
    }
)

我这样累了,但是没用。

@GenericGenerator(
    name = "generator",
    strategy = "cool.nice.package.NiceClass",
    parameters = {
    @org.hibernate.annotations.Parameter(
    name = "service", value = "${value}"),
    }
)

在application.yaml

value: "niceValue"

还有其他方法可以使该值通用吗?

我正在使用Spring 4.3.5,Spring Boot 1.4.3。然后休眠5.0.11.Final。

1 个答案:

答案 0 :(得分:0)

我将通过以下方式做到这一点:

@PropertySource(ignoreResourceNotFound = true, value = "classpath:application.yaml")
@Entity
public class HbnModel{

    @Value("${value}")
    private String valueHere;

    @GenericGenerator(
        name = "generator",
        strategy = "cool.nice.package.NiceClass",
        parameters = {
        @org.hibernate.annotations.Parameter(
        name = "service", value = valueHere),
        }
    )
    privte String someValue;

    // Getters and Setter

}